<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>SQL &#8211; ケケンタの独学ITブログ</title>
	<atom:link href="https://kekenta-it-blog.com/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>https://kekenta-it-blog.com</link>
	<description>プログラミングやWeb制作の情報を発信</description>
	<lastBuildDate>Tue, 18 Mar 2025 01:59:30 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://kekenta-it-blog.com/wp-content/uploads/2023/07/cropped-KEKENTA-BLOG-32x32.png</url>
	<title>SQL &#8211; ケケンタの独学ITブログ</title>
	<link>https://kekenta-it-blog.com</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>SQLの書き方｜PHPでアプリ開発するなら必須のCRUDとは？</title>
		<link>https://kekenta-it-blog.com/php-sql-basic/</link>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Mon, 04 Mar 2024 23:20:07 +0000</pubDate>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Webアプリ]]></category>
		<category><![CDATA[PHP]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=3232</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/eye-catch__php-sql-basic__3232-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>今回はPHPのWebアプリ開発をするなら必須のSQLの書き方について解説をしていきます。 SQLはデータベースを操作するための言語です。 しかし、いま現在PHPを学ばれていて、これからWebアプリ開発をしたいと考えている [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/eye-catch__php-sql-basic__3232-1024x576.jpg" class="webfeedsFeaturedVisual" /></p><div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>こんにちは！　ケケンタです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">今回はPHPのWebアプリ開発をするなら必須の<strong>SQL</strong>の書き方について解説をしていきます。</p>



<div class="swell-block-capbox cap_box is-style-shadow"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span><strong>この記事で分かること</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>PHPのWebアプリ開発で必要なSQLの知識</li>



<li>CRUDとは何か？</li>



<li>SQLの基本構文</li>
</ul>
</div></div>



<p class="wp-block-paragraph">SQLは<strong>データベースを操作するための言語</strong>です。</p>



<p class="wp-block-paragraph">しかし、いま現在PHPを学ばれていて、これからWebアプリ開発をしたいと考えている方は、SQLの中でも基本となる<strong>CRUD（クラッド）</strong>の書き方を理解する必要があります。</p>



<p class="wp-block-paragraph">この記事をご覧いただくことで、<strong><span class="swl-marker mark_yellow">PHPでのWebアプリ開発において不可欠なSQLを理解することができます。</span></strong></p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>SQLの基本構文を習得することでTODOアプリや掲示板アプリを開発できるレベルに１つ近づくことができます。<br><br>PHPの勉強はとても大変で、その上「SQLもやるのか……」と思われる方もいらっしゃるかと思いますが、PHPに比べれば<strong>覚えるべきことは非常に少なく、また簡単</strong>です。<br><br>この記事を通して、ぜひSQLの基本構文を理解していってください。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/php-rakuten-api/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【PHP】APIとは？楽天APIで商品検索機能を作成する方法</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/alone-php-study/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">PHPはこうして習得した！約１年間の勉強内容【プログラミング独学】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/php-deploy-xserver-for-zip/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【PHP】エックスサーバーへデプロイする方法【初心者でも簡単！】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/03/eye-catch__school-php-and-wp__14099-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/school-php-and-wp/">PHPやWordPressを学ぶのにおすすめのプログラミングスクール【７選】</a>
						<span class="p-blogCard__excerpt">僕はこれまで独学でPHPを学習してきました。結論から言えば、それでもPHPを習得することはできました。 しかし、それに費やした累計学習期間は1年ほど。モチベーション&#8230;</span>					</div>
				</div>
			</div>
		</div>


<h2 class="wp-block-heading">SQLとは？</h2>



<p class="wp-block-paragraph">大前提として、<strong>SQLとは何か？</strong>についてお話をします。</p>



<p class="is-style-border-left-box has-box-style wp-block-paragraph"><strong>SQL</strong>とは</p>



<p class="is-style-border-left-box has-box-style has-border -border03 wp-block-paragraph"><strong><span class="marker-under">データベースを操作するために使用するデータベース言語</span></strong></p>



<p class="is-style-border-left-box has-box-style wp-block-paragraph">です。</p>



<p class="wp-block-paragraph">データベースにはWebアプリで必要となるユーザー情報やコンテンツ情報などをデータとして保存しておきます。</p>



<p class="wp-block-paragraph">そのデータ量は実際に運営されているWebアプリの場合、非常に膨大なものとなります。</p>



<p class="wp-block-paragraph"><strong><span class="marker-under">その膨大なデータを操作するために使用される言語</span></strong>が<strong>SQL</strong>です。</p>



<h2 class="wp-block-heading">SQLの基本であるCRUD（クラッド）とは？</h2>



<p class="wp-block-paragraph">SQLの説明の最後に「操作するために使用される言語」とお伝えしました。</p>



<p class="wp-block-paragraph">ここで言っている<strong>操作</strong>というのが、いわゆる<strong>CRUD</strong>と呼ばれるものになります。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl2"><div class="cap_box_ttl"><span><strong>CRUDとは？</strong></span></div><div class="cap_box_content">
<p class="wp-block-paragraph">CRUDとは、Webアプリケーションにおいて欠かせない以下<strong>４つのデータベース操作の基本機能</strong>を言い表したものです。</p>



<p class="wp-block-paragraph"><strong>C</strong>reate（作成）<br><strong>R</strong>ead（読み取り）<br><strong>U</strong>pdate（更新）<br><strong>D</strong>elete（削除）</p>



<p class="wp-block-paragraph">これらの頭文字を取ったのが<strong>CRUD</strong>（クラッド）です。</p>
</div></div>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">CRUD（クラッド）の４大要素</h2>



<p class="wp-block-paragraph">繰り返しになりますが、<strong>CRUD</strong>はWebアプリケーションにおいて不可欠なデータベース操作の４つの頭文字を組み合わせたものです。</p>



<p class="wp-block-paragraph">これらをSQLの基本構文と対応させると以下のようになります。</p>



<p class="is-style-balloon_box2 wp-block-paragraph"><strong>CRUD（クラッド）</strong></p>



<ul class="wp-block-list is-style-check_list">
<li><strong>C</strong>reate（作成） …… <strong>INSERT文</strong></li>



<li><strong>R</strong>ead（読み取り）…… <strong>SELECT文</strong></li>



<li><strong>U</strong>pdate（更新） …… <strong>UPDATE文</strong></li>



<li><strong>D</strong>elete（削除） …… <strong>DELETE文</strong></li>
</ul>



<p class="wp-block-paragraph">PHPに限らず、Webアプリケーションを開発する際には、上記４種類のSQL文の使用が欠かせません。</p>



<p class="wp-block-paragraph">言い換えれば、これらをしっかり理解できれば<strong><span class="marker-under">Webアプリケーションを開発するために最低限必要なSQLは習得した</span></strong>と言えるということです。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>それでは以下より各SQL文の概要と構文を解説していきます。<br>なお、CRUDでは先頭がINSERT文になっていますが、当記事ではSQLにおいて最も基本である<strong>SELECT文の書き方</strong>からご説明させていただきます。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">SELECT</h2>



<p class="is-style-border-left-box has-box-style wp-block-paragraph"><strong>SELECT文</strong>は</p>



<p class="is-style-border-left-box has-box-style has-border -border03 wp-block-paragraph">データベースから特定のデータを取得したい際に使用するSQL文</p>



<p class="is-style-border-left-box has-box-style wp-block-paragraph">です。</p>



<p class="wp-block-paragraph">使用例としては、掲示板アプリで投稿情報を表示したいとき、<strong>投稿情報をデータベースから取得する</strong>ときなどが挙げられます。</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce08d48&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce08d48" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="1024" height="491" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf-1024x491.jpg" alt="SELECT文用例⓵" class="wp-image-3245" style="border-width:1px;width:530px" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf-1024x491.jpg 1024w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf-300x144.jpg 300w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf-768x368.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf-1536x737.jpg 1536w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/9e3cb31030868cbdd8936df71b916ddf.jpg 1551w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="wp-block-paragraph">上図ではIDが２のデータを選択する様子を示していますが、実際には例えば名前や色に対して条件を指定する形でデータを取得することが可能です。</p>



<p class="wp-block-paragraph">本章ではパターンとして以下<strong>３つ</strong>について解説します。</p>



<div class="wp-block-group is-style-big_icon_good"><div class="wp-block-group__inner-container">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li><strong>すべてのデータを取得する場合</strong></li>



<li><strong>列を指定しつつ、すべてのデータを取得する場合</strong></li>



<li><strong>条件に一致するすべてのデータを取得する場合</strong></li>
</ul>
</div></div>



<h3 class="wp-block-heading">すべてのデータを取得する場合</h3>



<p class="wp-block-paragraph"><strong>すべてのデータを取得する</strong>場合、SQLは以下のようになります。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">すべてのデータを取得するSQL文</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>SELECT * FROM テーブル名;</strong></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0998c&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0998c" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="1024" height="675" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed-1024x675.jpg" alt="" class="wp-image-3250" style="border-width:1px;width:530px" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed-1024x675.jpg 1024w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed-300x198.jpg 300w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed-768x506.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed-1536x1012.jpg 1536w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/82c49525781257b73820bd49fee352ed.jpg 1551w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="is-style-big_icon_point wp-block-paragraph">SQLでは基本的に<strong>メインとなる命令（SELECT）</strong>を先頭に書きます。<br>その後ろに続く<strong>*（アスタリスク）</strong>と<strong>FROM テーブル名</strong>はそれぞれ以下のような意味を持ちます。<br><br><strong>・*（アスタリスク）</strong>……<strong>すべての列（カラム）</strong><br>・<strong>FROM テーブル名</strong>……<strong>『テーブル名』から取得する</strong><br><br>また、このSQL文では、条件の指定を行っていません。<br>したがって、上記の１文により、「『テーブル名』からすべてのデータを取得する」という意味になります。</p>



<h3 class="wp-block-heading"><strong>列を指定しつつ、すべてのデータを取得する場合</strong></h3>



<p class="wp-block-paragraph">データを取得する際、<strong>特定の列情報</strong>があれば十分な場合があります。</p>



<p class="wp-block-paragraph">そんなときは以下のように記述をします。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">特定の列からのみデータを取得する</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>SELECT <span class="swl-inline-color has-swl-deep-02-color">名前, 数量</span> FROM テーブル名;</strong></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0a376&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0a376" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="886" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484-886x1024.jpg" alt="" class="wp-image-3261" style="border-width:1px;width:530px" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484-886x1024.jpg 886w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484-260x300.jpg 260w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484-768x888.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484-1329x1536.jpg 1329w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/63830cb63f97e099b45ddff984e5f484.jpg 1551w" sizes="(max-width: 886px) 100vw, 886px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="is-style-big_icon_point wp-block-paragraph">SELECTの後ろに<strong>カラム名（列名）をカンマ区切りで記述</strong>しています。<br>こうすることで、特定のカラムだけを取得することが可能です。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>もちろん、<strong>１列だけ選択するという記述の仕方も可能</strong>です。<br><br>また補足として、以下の<strong>①、②</strong>のSQL文は同じ取得結果になります。<br>①<strong>SELECT * テーブル名;</strong><br>②<strong>SELECT ID, 名前, 色 ,数量 FROM テーブル名;</strong></p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h3 class="wp-block-heading"><strong>条件に一致するすべてのデータを取得する場合</strong></h3>



<p class="wp-block-paragraph"><strong>条件を指定してデータを取得する</strong>場合は、これまでの構文に加えて<strong>WHERE文</strong>を使用します。</p>



<p class="wp-block-paragraph">書き方は以下の通りです。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">条件を指定してデータを取得するSQL文</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>SELECT * FROM テーブル名 <span class="swl-inline-color has-swl-deep-02-color">WHERE 条件</span>;</strong></p>



<p class="wp-block-paragraph">また、<strong><span class="marker-under">複数の条件を指定</span></strong>することも可能で、その場合は<strong><span class="bold-blue">AND</span></strong>や<strong><span class="bold-blue">OR</span></strong>を使用します。</p>



<p class="is-style-balloon_box2 wp-block-paragraph"><span class="marker-under">複数の条件を</span>指定するSQL文</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>SELECT * FROM テーブル名 <span class="swl-inline-color has-swl-deep-02-color">WHERE 条件⓵ <span class="bold-blue">OR</span> 条件⓶</span>;</strong></p>



<p class="wp-block-paragraph">以下の例では、「<strong>IDが２または数量が20のデータ</strong>」を取得します。</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0af1d&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0af1d" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="1024" height="828" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-1024x828.jpg" alt="" class="wp-image-3267" style="border-width:1px;width:630px" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-1024x828.jpg 1024w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-300x242.jpg 300w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-768x621.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-1536x1242.jpg 1536w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/64fa391fd6ed79af24669718d285de22-2048x1655.jpg 2048w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>

<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>このようにSQLでは<strong><span class="swl-marker mark_yellow">基本的な構文を組み合わせることで様々なデータを取得する</span></strong>ことが可能です。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">INSERT</h2>



<p class="is-style-border-left-box has-box-style wp-block-paragraph"><strong>INSERT文</strong>は、<strong>既存のテーブルに新しいデータを追加する際に使用</strong>します。</p>



<p class="wp-block-paragraph">Webアプリケーションでは、例えば掲示板アプリに投稿があった際、<strong>投稿データをテーブルにINSERTする</strong>といったシチュエーションが挙げられます。</p>



<p class="wp-block-paragraph">基本的な書き方は以下の通りです。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">INSERT文の基本的な書き方</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>INSERT INTO テーブル名&nbsp;(列名1, 列名2,&#8230;) VALUES (値1, 値2,&#8230;);</strong></p>



<p class="wp-block-paragraph"><span class="swl-marker mark_blue"><strong>以下の例</strong></span>では、<strong>既存テーブルに「いちご」の情報を新規追加</strong>します。</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>INSERT INTO テーブル名&nbsp;(ID, 名前, 色, 数量) VALUES (5, &#8216;いちご&#8217;, &#8216;レッド&#8217;, 13);</strong></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0b905&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0b905" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="1024" height="635" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1-1024x635.jpg" alt="" class="wp-image-3299" style="border-width:1px;width:600px;height:auto" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1-1024x635.jpg 1024w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1-300x186.jpg 300w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1-768x476.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1-1536x952.jpg 1536w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/3b3f1d182b940772dafa92429dbf0ffe-1.jpg 2003w" sizes="(max-width: 1024px) 100vw, 1024px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="is-style-alert-box has-box-style wp-block-paragraph">この例では説明のためにIDの情報も記述していますが、基本的にデータを一意に識別するための連番は<strong>データベース側の設定で自動的に入力</strong>されるようにします。</p>



<p class="is-style-alert-box has-box-style wp-block-paragraph">したがって、実際の開発の際にはIDの部分は省略してしまって大丈夫なケースがほとんどです。</p>



<h2 class="wp-block-heading">UPDATE</h2>



<p class="is-style-border-left-box has-box-style wp-block-paragraph"><strong>UPDATE文</strong>は、<strong>既存データを更新したいときに使用</strong>します。</p>



<p class="wp-block-paragraph">例えば掲示板アプリでは、<strong>過去に投稿した投稿内容を修正する機能</strong>で使用します。</p>



<p class="wp-block-paragraph">基本的な書き方はこちらです。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">UPDATE文の基本的な書き方</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>UPDATE (テーブル名) SET (カラム名1) = (値１) WHERE (条件);</strong></p>



<p class="wp-block-paragraph">少々見づらいかもしれませんが、<strong>日本語で簡単に見ると</strong></p>



<p class="is-style-bg_stripe wp-block-paragraph">指定したテーブル内の条件に当てはまるデータの内、指定したカラムの情報を（値１）に置き換える</p>



<p class="wp-block-paragraph">という意味です。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>イメージが湧きづらい方は、まず<strong>UPDATE～（値１）</strong>までを１つのまとまりとして捉えてみて下さい。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">例えば、<strong>IDが１のデータの数量を15に更新する</strong>というSQL文は以下のようになります。</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>UPDATE テーブル名 SET 数量 = 値１ WHERE ID = 1;</strong></p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0c77d&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0c77d" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="926" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-926x1024.jpg" alt="UPDATE文用例" class="wp-image-3305" style="border-width:1px;width:530px;height:auto" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-926x1024.jpg 926w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-271x300.jpg 271w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-768x850.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-1389x1536.jpg 1389w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1-1851x2048.jpg 1851w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/b83113e7dd27c30dcc38db78e3e30063-1.jpg 2025w" sizes="(max-width: 926px) 100vw, 926px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<h2 class="wp-block-heading">DELETE</h2>



<p class="wp-block-paragraph">最後は<strong>DELETE文</strong>です。</p>



<p class="is-style-border-left-box has-box-style wp-block-paragraph"><strong>DELETE文</strong>は、<strong>条件に一致する既存データを削除したいときに使用</strong>します。</p>



<p class="wp-block-paragraph">例えば掲示板アプリでは、<strong>過去の投稿内容を削除する機能</strong>で使用します。</p>



<p class="wp-block-paragraph">基本的な書き方は以下の通りです。</p>



<p class="is-style-balloon_box2 wp-block-paragraph">DELETE文の基本的な書き方</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>DELETE FROM テーブル名 WHERE 条件</strong>;</p>



<p class="wp-block-paragraph"><strong><span class="swl-marker mark_blue">以下の例</span></strong>では、<strong>IDが３のデータを削除</strong>しています。</p>



<p class="is-style-light-background-box has-box-style has-border -border03 wp-block-paragraph"><strong>DELETE FROM テーブル名 WHERE ID</strong> <strong>= 3</strong>;</p>


<div class="wp-block-image">
<figure data-wp-context="{&quot;imageId&quot;:&quot;6a16a5ce0d135&quot;}" data-wp-interactive="core/image" data-wp-key="6a16a5ce0d135" class="aligncenter size-large is-resized has-custom-border wp-lightbox-container"><img decoding="async" width="926" height="1024" data-wp-class--hide="state.isContentHidden" data-wp-class--show="state.isContentVisible" data-wp-init="callbacks.setButtonStyles" data-wp-on--click="actions.showLightbox" data-wp-on--load="callbacks.setButtonStyles" data-wp-on--pointerdown="actions.preloadImage" data-wp-on--pointerenter="actions.preloadImageWithDelay" data-wp-on--pointerleave="actions.cancelPreload" data-wp-on-window--resize="callbacks.setButtonStyles" src="https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-926x1024.jpg" alt="DELETE文用例" class="wp-image-3309" style="border-width:1px;width:550px;height:auto" srcset="https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-926x1024.jpg 926w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-271x300.jpg 271w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-768x850.jpg 768w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-1389x1536.jpg 1389w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204-1851x2048.jpg 1851w, https://kekenta-it-blog.com/wp-content/uploads/2024/03/f4b6b3528c21afadf5940628238b2204.jpg 2025w" sizes="(max-width: 926px) 100vw, 926px" /><button
			class="lightbox-trigger"
			type="button"
			aria-haspopup="dialog"
			data-wp-bind--aria-label="state.thisImage.triggerButtonAriaLabel"
			data-wp-init="callbacks.initTriggerButton"
			data-wp-on--click="actions.showLightbox"
			data-wp-style--right="state.thisImage.buttonRight"
			data-wp-style--top="state.thisImage.buttonTop"
		>
			<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none" viewBox="0 0 12 12">
				<path fill="#fff" d="M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z" />
			</svg>
		</button></figure>
</div>


<p class="is-style-alert-box has-box-style is-style-icon_info wp-block-paragraph">注意点として、仮に以下のように<strong><span class="swl-marker mark_orange">条件を省いてDELETE文を実行した場合、テーブル内のデータがすべて削除されてしまいます。</span></strong><br><br>そのため、DELETE文を使用する際は、必ずWHEREで条件を指定するようにしましょう。</p>



<p class="is-style-alert-box has-box-style has-border -border03 wp-block-paragraph"><strong>DELETE FROM テーブル名</strong>;</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>以上が<strong>CRUD</strong>の解説でした。<br><br>余談ですが、今回の例ではすべてアルファベットを大文字で記述していましたが、SQLでは全角と半角の区別は無いため、<strong>半角で記述することも可能</strong>です。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">SQLの基本であるCRUDの書き方を理解してPHPでWebアプリ開発をしよう</h2>



<p class="wp-block-paragraph">以上がWebアプリ開発をする際に必要不可欠なSQLの基本、CRUDの解説でした。</p>



<p class="wp-block-paragraph">改めて、CRUDとはWebアプリにおけるデータベース操作の４つの基本機能の頭文字を取った用語でした。</p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container">
<ul class="wp-block-list is-style-check_list">
<li><strong>C</strong>reate（作成） …… <strong>INSERT文</strong></li>



<li><strong>R</strong>ead（読み取り）…… <strong>SELECT文</strong></li>



<li><strong>U</strong>pdate（更新） …… <strong>UPDATE文</strong></li>



<li><strong>D</strong>elete（削除） …… <strong>DELETE文</strong></li>
</ul>
</div></div>



<p class="wp-block-paragraph">これらの書き方をきちんと理解できれば、Webアプリを開発することが可能です。</p>



<p class="wp-block-paragraph">PHPの基礎を習得し、Webアプリを開発するとなれば避けては通れないSQLですが、この記事の内容が理解できたなら、実際に使えるようになるまでそう時間はかかりません。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>もしも実際にCRUDを使用している様子をご覧になりたいという場合は、以下の記事もおすすめです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/11/eye-catch__board-app-php__2739-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/board-app-php/">掲示板アプリの作り方｜プログラミング初心者向け【PHP】</a>
						<span class="p-blogCard__excerpt">この記事ではPHPによる 掲示板アプリの作り方 をご紹介します。 掲示板アプリを作成するためには、PHPの基本文法をはじめ、データベース操作（いわゆるCRUD）やHTTPリク&#8230;</span>					</div>
				</div>
			</div>
		</div>


<p class="wp-block-paragraph">最後までご覧いただきありがとうございました！</p>



<p class="wp-block-paragraph">また別の記事でお会いできるのを楽しみにしております。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>【PHP】SQLインジェクションの原因や攻撃手法【対策コード付き】</title>
		<link>https://kekenta-it-blog.com/sql-inj-php/</link>
		
		<dc:creator><![CDATA[ケケンタ]]></dc:creator>
		<pubDate>Sun, 24 Dec 2023 06:21:44 +0000</pubDate>
				<category><![CDATA[Webアプリ]]></category>
		<category><![CDATA[セキュリティ]]></category>
		<category><![CDATA[SQL]]></category>
		<guid isPermaLink="false">https://kekenta-it-blog.com/?p=1106</guid>

					<description><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__sql-inj-php__1106-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>この記事ではセキュリティ攻撃の１つであるSQLインジェクションについて、その対策方法も含めて解説をしていきます。 セキュリティ対策についてしっかり学ばれたい方にはこちらの書籍がおすすめです。（通称：徳丸本と呼ばれる「We [&#8230;]]]></description>
										<content:encoded><![CDATA[<p><img src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__sql-inj-php__1106-1024x576.jpg" class="webfeedsFeaturedVisual" /></p>
<p class="wp-block-paragraph">この記事ではセキュリティ攻撃の１つであるSQLインジェクションについて、その対策方法も含めて解説をしていきます。</p>



<div class="swell-block-capbox cap_box is-style-shadow"><div class="cap_box_ttl"><span><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMzIgNDYuNUgxNmMtMS4xIDAtMi0uOS0yLTJzLjktMiAyLTJoMTZjMS4xIDAgMiAuOSAyIDJzLS45IDItMiAyek00MS43IDE1LjlDNDEuMyAxMyA0MCAxMC4zIDM4LjIgOCAzNC41IDMuMiAyOSAuOCAyMy4xIDEgMTQgMS40IDYuNSA4LjkgNiAxOGMtLjMgNiAyLjQgMTEuNyA3LjIgMTUuNC41LjQuOC45LjggMS41djEuNmMwIDIuMiAxLjggNCA0IDRoMTJjMi4yIDAgNC0xLjggNC00VjM1YzAtLjYuMy0xLjIuOS0xLjcgNS4zLTQgOC0xMC42IDYuOC0xNy40em0tNy4xIDEuN2gtLjNjLS43IDAtMS4zLS41LTEuNS0xLjItLjctMy4yLTMuMi01LjctNi40LTYuMy0uOC0uMS0xLjQtLjktMS4yLTEuN3MuOS0xLjQgMS43LTEuMmM0LjQuOCA4IDQuMiA4LjkgOC42LjEuOC0uNCAxLjYtMS4yIDEuOHoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsLightbulb" data-id="0" aria-hidden="true" class="swl-inline-icon"> </span><strong>この記事で分かること</strong></span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>SQLインジェクション攻撃の概要</li>



<li>SQLインジェクション攻撃の被害・影響</li>



<li>SQLインジェクション攻撃の流れ</li>



<li>SQLインジェクション攻撃の根本的原因</li>



<li>SQLインジェクション攻撃の対策方法（PHPでの対策コードあり）</li>
</ul>
</div></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>SQLインジェクション対策をしないと最悪の場合、DB内のデータをすべて抜き取られたり削除されるなど非常に大きな被害が発生します。<br>この記事を読んでいただき、理解の一助となれば幸いです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="is-style-bg_stripe wp-block-paragraph">セキュリティ対策についてしっかり学ばれたい方にはこちらの書籍がおすすめです。<br>（<strong>通称：徳丸本</strong>と呼ばれる「Webアプリ開発者必読」とまで言われている書籍です）<br><br><a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=1FQAOXKEGI9HT&amp;dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFis4f3XHMUvarmNijcsU4Nmvl3Tud_nU0g7agEl3ercb-Os7uj_I-9w5xejzyw_JwMcs7FC4uVP9jc3sHC7c9ZuDT_gwuJFliueZNV3zuXq4731v-JAlEh4pR64KI-_puhFly0i_zkfDlsH2xTLQWoeNNIM9FkS584d43eeD8-mNtPjbtKK1lmvjecUb-VALfXImg-mACYpqlPWhTawzlYmnCmT85BL5k4gVzrtlErnyRPeFE4qCXwaN884rSGk9l6PGCfVcIoDQOg1lp8Ia-RWA.i4wIGc7KFczkxeNgrmVo03tuk6Fod-K6t-LEHGJtLtE&amp;dib_tag=se&amp;keywords=Web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&amp;qid=1718235109&amp;sprefix=web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%2Caps%2C186&amp;sr=8-1&amp;linkCode=ll1&amp;tag=kekenta03amaz-22&amp;linkId=dc5df2a77d4a028f4519e6b2a07ffb84&amp;language=ja_JP&amp;ref_=as_li_ss_tl"><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNNDQgMkgzMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDJoOS4yTDI0IDIxLjJjLS44LjgtLjggMiAwIDIuOHMyIC44IDIuOCAwTDQyIDguOFYxOGMwIDEuMS45IDIgMiAyczItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PHBhdGggZD0iTTQxIDI3Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS0uOSAyLTIgMkg5Yy0xLjEgMC0yLS45LTItMlYxMWMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMkg5Yy0zLjMgMC02IDIuNy02IDZ2MjhjMCAzLjMgMi43IDYgNiA2aDI4YzMuMyAwIDYtMi43IDYtNlYyOWMwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsExternalLink" data-id="1" aria-hidden="true" class="swl-inline-icon"> </span>体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践</a><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMTEuNyAxLjQgNi44IDVjLS41LjQtLjggMS0uOCAxLjZ2MjguN2MwIC44LjUgMS41IDEuMiAxLjhsMjQgMTAuM2MxLjMuNiAyLjgtLjQgMi44LTEuOFYxOWMwLS44LS41LTEuNS0xLjItMS44TDEwLjIgNy41bDIuOS0yLjJjLjktLjYgMi0uOCAzLS40bDIwLjYgOC44Yy43LjMgMS4yIDEgMS4yIDEuOFY0Mi45YzAgLjkgMSAxLjMgMS43LjhsMS43LTEuNWMuNC0uNC43LS45LjctMS41VjEzYzAtLjgtLjUtMS41LTEuMi0xLjhMMTYuNy44Yy0xLjctLjctMy42LS41LTUgLjZ6Ij48L3BhdGg+PC9zdmc+)" data-icon="LsBook" data-id="47" aria-hidden="true" class="swl-inline-icon"> </span><br>徳丸 浩／著　SBクリエイティブ／出版│<a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=1FQAOXKEGI9HT&amp;dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFis4f3XHMUvarmNijcsU4Nmvl3Tud_nU0g7agEl3ercb-Os7uj_I-9w5xejzyw_JwMcs7FC4uVP9jc3sHC7c9ZuDT_gwuJFliueZNV3zuXq4731v-JAlEh4pR64KI-_puhFly0i_zkfDlsH2xTLQWoeNNIM9FkS584d43eeD8-mNtPjbtKK1lmvjecUb-VALfXImg-mACYpqlPWhTawzlYmnCmT85BL5k4gVzrtlErnyRPeFE4qCXwaN884rSGk9l6PGCfVcIoDQOg1lp8Ia-RWA.i4wIGc7KFczkxeNgrmVo03tuk6Fod-K6t-LEHGJtLtE&amp;dib_tag=se&amp;keywords=Web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&amp;qid=1718235109&amp;sprefix=web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%2Caps%2C186&amp;sr=8-1&amp;linkCode=ll1&amp;tag=kekenta03amaz-22&amp;linkId=dc5df2a77d4a028f4519e6b2a07ffb84&amp;language=ja_JP&amp;ref_=as_li_ss_tl">Amazon</a></p>


<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/alone-php-study/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">PHPはこうして習得した！約１年間の勉強内容【プログラミング独学】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<a href="https://kekenta-it-blog.com/php-deploy-xserver-for-zip/" class="c-blogLink -internal" data-style="text">
				<!-- <i class="c-blogLink__icon icon-link" role="presentation"></i> -->
				<span class="c-blogLink__icon">
					<svg xmlns="http://www.w3.org/2000/svg" class="swl-svg-link __svg" width="1em" height="1em" viewBox="0 0 48 48" role="img" aria-hidden="true" focusable="false"><path d="M21.2 30.2c-.5 0-1-.2-1.4-.6l-.7-.7c-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l7.1-7.1c2.3-2.3 5.3-3.5 8.5-3.5s6.2 1.2 8.5 3.5c4.7 4.7 4.7 12.3 0 17l-3.5 3.5c-.8.8-2 .8-2.8 0-.8-.8-.8-2 0-2.8l3.5-3.5c3.1-3.1 3.1-8.2 0-11.3-1.5-1.5-3.5-2.3-5.7-2.3-2.1 0-4.2.8-5.7 2.3l-7.1 7.1c-1.5 1.5-2.3 3.5-2.3 5.7s.8 4.2 2.3 5.7l.7.7c.8.8.8 2 0 2.8-.4.3-.9.5-1.4.5z" /><path d="M13.4 46.6c-3.1 0-6.1-1.2-8.5-3.5-2.3-2.3-3.5-5.3-3.5-8.5s1.2-6.2 3.5-8.5l3.5-3.5c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8l-3.5 3.5c-1.5 1.5-2.3 3.5-2.3 5.7 0 2.1.8 4.2 2.3 5.7 3.1 3.1 8.2 3.1 11.3 0l7.1-7.1c1.5-1.5 2.3-3.5 2.3-5.7 0-2.1-.8-4.2-2.3-5.7l-.7-.7c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0l.7.7c2.3 2.3 3.5 5.3 3.5 8.5s-1.2 6.2-3.5 8.5l-7.1 7.1c-2.3 2.3-5.3 3.5-8.4 3.5z" /></svg>				</span>
				<span class="c-blogLink__text">【PHP】エックスサーバーへデプロイする方法【初心者でも簡単！】</span>
			</a>
		</div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2025/03/eye-catch__school-php-and-wp__14099-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/school-php-and-wp/">PHPやWordPressを学ぶのにおすすめのプログラミングスクール【７選】</a>
						<span class="p-blogCard__excerpt">僕はこれまで独学でPHPを学習してきました。結論から言えば、それでもPHPを習得することはできました。 しかし、それに費やした累計学習期間は1年ほど。モチベーション&#8230;</span>					</div>
				</div>
			</div>
		</div>


<h2 class="wp-block-heading">SQLインジェクションとは？</h2>



<div class="swell-block-capbox cap_box is-style-onborder_ttl2"><div class="cap_box_ttl"><span>SQLインジェクションとは</span></div><div class="cap_box_content">
<p class="wp-block-paragraph">Webアプリの脆弱性に付け込み、<strong>不正なSQL文を注入（インジェクション）することでDB内のデータを盗み出したり削除したりするセキュリティ攻撃</strong>のこと</p>
</div></div>



<h2 class="wp-block-heading">被害・影響</h2>



<p class="wp-block-paragraph">SQLインジェクションの被害や影響は主に以下の通りです。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl2" data-colset="col3"><div class="cap_box_ttl"><span>SQLインジェクションの被害・影響</span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-bad_list -list-under-dashed">
<li>情報漏洩</li>



<li>情報の改ざん</li>



<li>情報の削除</li>



<li>認証回避</li>



<li>ファイルの読出し・書出しなど</li>
</ul>
</div></div>



<p class="wp-block-paragraph">また、<strong>漏洩した情報が原因となり</strong>クレジットカード被害やWebサイトの改ざんによるマルウェア拡散、アカウントの乗っ取りなどの<strong><span class="swl-marker mark_yellow">二次被害へ派生する可能性</span></strong>があります。</p>



<h2 class="wp-block-heading">攻撃の流れ</h2>



<p class="wp-block-paragraph">SQLインジェクションが実行される場所としては、主に以下の箇所が挙げられます。</p>



<div class="swell-block-capbox cap_box is-style-onborder_ttl2"><div class="cap_box_ttl"><span>SQLインジェクションが実行される場所</span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>検索画面</li>



<li>ログイン画面</li>
</ul>
</div></div>



<p class="wp-block-paragraph">Webアプリにおいて、上記の画面の共通点として、「ユーザが入力した任意の文字列を元に、システムがDB内から該当データを取得したりチェックを行う」という処理があります。</p>



<p class="wp-block-paragraph">このとき、システム上では予め用意されたSQL文が実行されるのですが、<strong><span class="swl-marker mark_yellow">攻撃者はそのSQL文に悪意のあるSQL文を無理やり注入（インジェクション）することで、DB内のデータを不正に操作</span></strong>します。</p>



<h3 class="wp-block-heading">【具体例】検索画面を通じた情報の盗み出し</h3>



<p class="wp-block-paragraph">それではここで、「パソコン関連機器を検索する機能」を例として、SQLインジェクションが実際にどのようにして実行されるのかをお見せします。</p>



<p class="wp-block-paragraph">以下のSQL文はユーザが検索フォームに入力した内容（<strong>$item_name</strong>）を元に、DBから該当する「機器名（<strong>name</strong>）」と「価格（<strong>price</strong>）」を表示するものです。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT name, price FROM item_list WHERE name = $item_name;</code></pre></div>



<p class="wp-block-paragraph">攻撃者は、上記の内、<strong>$item_nameに不正な入力内容を含める</strong>ことで、システム側が意図していないSQL文を実行させます。</p>



<p class="wp-block-paragraph">例えば、攻撃者によって以下のような入力内容があったとします。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-sql" data-lang="SQL"><code>&#39;; UPDATE item_list SET price = &#39;0</code></pre></div>



<p class="wp-block-paragraph">これにより、<strong>システム側で組み立てられるSQL文</strong>は以下のようになります。<br>※分かりやすくするために攻撃者の入力内容を【】で囲んでいます。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-sql" data-lang="SQL"><code>SELECT name, price FROM item_list WHERE name = &#39;【&#39;; UPDATE item_list SET price = &#39;0】&#39;;</code></pre></div>



<p class="wp-block-paragraph">ここで注目して頂きたいのが以下の2か所です。</p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container">
<ul class="wp-block-list -list-under-dashed is-style-num_circle">
<li>WHERE name = &#8221;;</li>



<li>UPDATE item_list SET price = &#8216;0&#8217;;</li>
</ul>
</div></div>



<p class="wp-block-paragraph">１では<strong><span class="swl-marker mark_yellow">「&#8217;;」が文末に注入されたことで、無理やり正常のSQL文が終了</span></strong>させられています。</p>



<p class="wp-block-paragraph">２では、UPDATE文が注入されていますが、WHERE文による条件指定が含まれていないため、<strong>更新対象はすべてのデータ</strong>ということになります。</p>



<p class="wp-block-paragraph">つまり、上記のSQL文が実行されることにより、<strong><span class="marker-under">item_listテーブル内の価格情報</span><span class="marker-under">（</span><span class="marker-under">p</span><span class="marker-under">r</span><span class="marker-under">i</span><span class="marker-under">c</span><span class="marker-under">e</span><span class="marker-under">）</span><span class="marker-under">がすべて0円に変更されてしまう</span></strong>ということです。</p>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">SQLインジェクションの根本的原因</h2>



<p class="wp-block-paragraph">結論から言うと、<strong>SQLインジェクションの根本的原因</strong>は</p>



<p class="is-style-sticky_box wp-block-paragraph"><strong>正規のSQL文にユーザの入力内容をそのまま埋め込む仕様になっている</strong></p>



<p class="wp-block-paragraph">ことにあります。</p>



<p class="wp-block-paragraph">上記の例をご覧いただいたように、SQLインジェクションでは<strong>正規のSQL文からはみ出させる形で不正のSQL文を実行</strong>させています。</p>



<p class="wp-block-paragraph">攻撃者は何らかの工夫を施すことで、この「はみ出す部分」を作り出し、そこに悪意あるSQL文を埋め込み、不正を行うのです。（例ではUPDATE文を「はみ出させる」ことで実行させています。）</p>



<p class="wp-block-paragraph">これが可能となってしまう原因は、<strong>システム側でSQL文を組み立てる際、ユーザの入力内容をそのままSQL文に埋め込んでいるため</strong>です。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>つまり、<strong>ユーザの入力内容をそのまま埋め込まないこと</strong>がSQLインジェクション対策になるということです。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<h2 class="wp-block-heading">対策方法</h2>



<p class="wp-block-paragraph">繰り返しになりますが、SQLインジェクションの原因は、<strong>ユーザの入力内容をSQL文にそのまま埋め込んでいること</strong>にあります。</p>



<p class="wp-block-paragraph">この状態を回避する方法は複数ありますが、ここでは最も確実となる<strong>プレースホルダー</strong>を利用する方法をご紹介します。</p>



<h3 class="wp-block-heading">プレースホルダーとは？</h3>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/困った顔-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>プレースホルダーって何…？</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<p class="wp-block-paragraph">という方のために簡単にご説明をすると</p>



<p class="is-style-big_icon_point wp-block-paragraph"><strong>プレースホルダー</strong>とは、<strong>後から任意の値をセットするために予め用意された仮のスペース</strong>のこと</p>



<p class="wp-block-paragraph">分かりやすく言うと、プレースホルダーを用いることで、<strong><span class="marker-under">後からSQL文の構造を変更することが理論的に不可</span></strong>となります。</p>



<p class="wp-block-paragraph">つまり、<strong><span class="swl-marker mark_yellow">攻撃者による不正なSQL文の実行を防ぐことが可能になる</span></strong>ということです。</p>



<h3 class="wp-block-heading">プレースホルダーの実装【PHPコードあり】</h3>



<p class="wp-block-paragraph">実際の実装例は以下の通りになります。（★が付いている処理が今回の対策と関連している部分です。）</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>&lt;?php

/*
 * 今回はPDOを使用した実装としています。
 */

// ユーザの入力内容を取得
$item_name = $_GET[&#39;item_name&#39;];

try {
    // DBへ接続の準備
    $dsn = &#39;mysql:dbname=sample_db;host=localhost;charset=utf8&#39;;
    $user = &#39;ユーザ名&#39;;
    $password = &#39;パスワード&#39;;

    // オプション指定
    $options = array(
        PDO::ATTR_ERRMODE =&gt; PDO::ERRMODE_EXCEPTION,    // SQL実行失敗時には例外をスロー
        PDO::MYSQL_ATTR_MULTI_STATEMENTS =&gt; false,      // ★複文の実行を不可にする 
        PDO::ATTR_EMULATE_PREPARES =&gt; false,            // ★静的プレースホルダーを使用する
    );
    // PDOオブジェクトを生成してDBへ接続
    $dbh = new PDO($dsn, $user, $password, $options);

    // SQL文の作成
    // ★プレースホルダー名として「:item_name」を指定
    $sql = &#39;SELECT name, price FROM item_list WHERE name = :item_name&#39;;

    // SQLへ接続準備
    $stmt = $dbh-&gt;prepare($sql);

    // ★プレースホルダ（:item_name）に値（$item_name）をセット
    $stmt-&gt;bindValue(&#39;:item_name&#39;, $item_name, PDO::PARAM_STR);

} catch (Exception $e) {
    // 例外処理
}

?&gt;</code></pre></div>



<p class="wp-block-paragraph">以下より、★が付いている処理について順番に解説をしていきます。</p>



<h4 class="wp-block-heading">【解説】複文の実行を不可にする</h4>



<p class="wp-block-paragraph">以下の部分でSQL文の<strong><span class="marker-under">複文の実行を不可</span></strong>としています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>PDO::MYSQL_ATTR_MULTI_STATEMENTS =&gt; false,      // ★複文の実行を不可にする </code></pre></div>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>「複文」とは、例えば以下のように、<strong>同時に複数のSQL文が実行される構成となっているもの</strong>を指します。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>SELECT name, price FROM item_list WHERE name = &#39;&#39;; UPDATE item_list SET price = &#39;0&#39;;</code></pre></div>



<p class="wp-block-paragraph">前述したように、SQLインジェクションとは正規のSQL文から「はみ出す」形で不正なSQLを差し込む攻撃です。</p>



<p class="wp-block-paragraph">つまり、このように<strong><span class="swl-marker mark_yellow">複文の実行を不可にすることでSQLインジェクションの抑制になる</span></strong>のです。</p>



<p class="is-style-icon_info wp-block-paragraph">ただし、SQLインジェクション攻撃のパターンの中には<strong>複文を利用しないもの</strong>もあります。<br>したがって、このオプション指定はあくまで特定の攻撃に対する抑制にはなるものの、<strong>完全な対策とはならない</strong>点に注意が必要です。</p>



<h4 class="wp-block-heading">【解説】静的プレースホルダーを指定</h4>



<p class="wp-block-paragraph">次に<strong>静的プレースホルダー</strong>についてですが、こちらは以下の部分で指定をしています。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-php" data-lang="PHP"><code>PDO::ATTR_EMULATE_PREPARES =&gt; false,            // ★静的プレースホルダーを使用する</code></pre></div>



<p class="wp-block-paragraph">プレースホルダーには実は</p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>静的プレースホルダー</li>



<li>動的プレースホルダー</li>
</ul>
</div></div>



<p class="wp-block-paragraph">の2種類があります。正しく処理が記述できていればどちらを使用してもSQLインジェクション対策となりますが、<strong>静的プレースホルダーの方が原理的に対策が確実</strong>なため、仕様的に問題が無ければこちらを採用するのが無難です。</p>



<h4 class="wp-block-heading">【解説】プレースホルダーの利用</h4>



<p class="wp-block-paragraph">プレースホルダーを実際に使用している箇所がこちらです。</p>



<div class="hcb_wrap"><pre class="prism line-numbers lang-plain"><code>// SQL文の作成
// ★プレースホルダー名として「:item_name」を指定
$sql = &#39;SELECT name, price FROM item_list WHERE name = :item_name&#39;;

    ～中略～

// ★プレースホルダ（:item_name）に値（$item_name）をセット
$stmt-&gt;bindValue(&#39;:item_name&#39;, $item_name, PDO::PARAM_STR);</code></pre></div>



<p class="wp-block-paragraph">処理の流れは以下のようになります。</p>



<div class="wp-block-group has-border -border01"><div class="wp-block-group__inner-container">
<ul class="wp-block-list is-style-num_circle -list-under-dashed">
<li>「:item_name」という任意のプレースホルダー名を設定</li>



<li>bindValueメソッドでプレースホルダーに実際の入力内容をセット</li>
</ul>
</div></div>



<p class="is-style-icon_pen wp-block-paragraph">なお、プレースホルダー名の接頭辞には「:item_name」のように「:（コロン）」を使用します。</p>



<p class="wp-block-paragraph">また、bindValueメソッドの第3引数には、<strong>入力内容に応じた型</strong>を指定します。例えば今回は入力内容として文字列型での入力を想定しているため「PARAM_STR」を指定しました。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>以上がSQLインジェクションの対策コードの解説でした。<br>対策内容を整理すると以下のようになります。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>


<div class="swell-block-capbox cap_box is-style-onborder_ttl2"><div class="cap_box_ttl"><span>SQLインジェクション対策まとめ</span></div><div class="cap_box_content">
<ul class="wp-block-list is-style-check_list -list-under-dashed">
<li>SQLインジェクション対策にはプレースホルダーを使用する</li>



<li>オプション指定により複文の実行を不可にできる　※完全な対策とはならない</li>



<li>静的プレースホルダーなら原理的にSQLインジェクションの実行が不可となる</li>



<li>プレースホルダーを使用する手順は、①プレースホルダーの設定　→　②プレースホルダーに値をセット（バインド）</li>
</ul>
</div></div>


<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-4374558503914683"
     crossorigin="anonymous"></script>
<!-- ディスプレイ【横長】 -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-4374558503914683"
     data-ad-slot="9744298852"
     data-ad-format="auto"
     data-full-width-responsive="true"></ins>
<script>
     (adsbygoogle = window.adsbygoogle || []).push({});
</script>



<h2 class="wp-block-heading">まとめ</h2>



<p class="wp-block-paragraph">ここまでSQLインジェクションについてお伝えをしてきました。</p>



<p class="wp-block-paragraph">SQLインジェクションが成功してしまった場合、情報漏洩や改ざんなどが発生し、2次被害としてアカウントの乗っ取りなどに繋がってしまう恐れがあります。</p>



<p class="wp-block-paragraph">プレースホルダーを使用することで対策が可能なため、Webアプリを開発する際には必ず実装するようにしましょう。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>最後に、僕が<strong>セキュリティ対策を学ぶ際に利用した書籍</strong>をご紹介させていただきます。</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div id="rinkerid3655" class="yyi-rinker-contents  yyi-rinker-postid-3655 yyi-rinker-img-m yyi-rinker-catid-72 yyi-rinker-catid-32 ">
	<div class="yyi-rinker-box">
		<div class="yyi-rinker-image">
							<a href="https://hb.afl.rakuten.co.jp/hgc/g00q072g.bdzz22a5.g00q072g.bdzz326e/Rinker_i_20240325051043?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15472730%2F&#038;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19130417%2F&#038;rafcid=wsc_i_is_1047822029026699702" rel="nofollow" class="yyi-rinker-tracking"  data-click-tracking="rakuten_img 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]" data-vars-click-id="rakuten_img 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]"><img decoding="async" src="https://thumbnail.image.rakuten.co.jp/@0_mall/book/cabinet/3163/9784797393163.jpg?_ex=128x128"  width="128" height="128" class="yyi-rinker-main-img" style="border: none;"></a>					</div>
		<div class="yyi-rinker-info">
			<div class="yyi-rinker-title">
									<a href="https://hb.afl.rakuten.co.jp/hgc/g00q072g.bdzz22a5.g00q072g.bdzz326e/Rinker_t_20240325051043?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15472730%2F&#038;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19130417%2F&#038;rafcid=wsc_i_is_1047822029026699702" rel="nofollow" class="yyi-rinker-tracking" data-click-tracking="rakuten_title 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]" data-vars-amp-click-id="rakuten_title 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]" >体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]</a>							</div>
			<div class="yyi-rinker-detail">
							<div class="credit-box">created by&nbsp;<a href="https://oyakosodate.com/rinker/" rel="nofollow noopener" target="_blank" >Rinker</a></div>
										<div class="price-box">
							<span title="" class="price">¥3,520</span>
															<span class="price_at">(2026/05/27 17:05:34時点&nbsp;楽天市場調べ-</span><span title="このサイトで掲載されている情報は当サイトの作成者により運営されています。価格、販売可能情報は、変更される場合があります。購入時に楽天市場店舗（www.rakuten.co.jp）に表示されている価格がその商品の販売に適用されます。">詳細)</span>
																	</div>
						</div>
						<ul class="yyi-rinker-links">
																	<li class="amazonkindlelink">
						<a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88%EF%BC%BB%E5%9B%BA%E5%AE%9A%E7%89%88%EF%BC%BD-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8-%E6%B5%A9-ebook/dp/B07DVY4H3M?_encoding=UTF8&amp;dib_tag=se&amp;dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFijL3FSdFSR0LKwwn0F-UPgnO4-c3ozCV4u_yzlUP10v8KPCWYU6aPhFknUSSGvFmOEDGJ7u_LQxIZPLfydTHs_AWTWMCbT_FAR33FxKzQdND0le-SUmRnBHzYhR8SX_lsohxpGeQkIATYHxCJlB0aHhgwHHQ_THHRbyVElNccJqEMDb7ELZa0F--eVduuVxaejEJv9h9ZmItplRO6lE6VyZJA2Jej7Jvd7bD0ypm9krDwLy3e-Ea8YDtZc7KF66Cb-ea0Tp3FGBrFX0K3fiRlfA.KN6w39aSpN4iCwmHQ6974qNXMN0yNo0Ib071kV4gNk4&amp;qid=1723712413&amp;sr=8-6&amp;linkCode=ll1&amp;tag=kekenta03am0b-22&amp;linkId=3aee57ca3ac28d84506bf0e0db6cec11&amp;language=ja_JP&amp;ref_=as_li_ss_tl" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon_kindle 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]"  data-vars-amp-click-id="amazon_kindle 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]">Kindle</a>					</li>
								                    <li class="amazonlink">
						<a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165?dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFijL3FSdFSR0LKwwn0F-UPgnO4-c3ozCV4u_yzlUP10v8KPCWYU6aPhFknUSSGvFmOEDGJ7u_LQxIZPLfydTHs_AWTWMCbT_FAR33FxKzQdND0le-SUmRnBHzYhR8SX_lsohxpGeQkIATYHxCJlB0aHhgwHHQ_THHRbyVElNccJqEMDb7ELZa0F--eVduuVxaejEJv9h9ZmItplRO6lE6VyZJA2Jej7Jvd7bD0ypm9krDwLy3e-Ea8YDtZc7KF66Cb-ea0Tp3FGBrFX0K3fiRlfA.KN6w39aSpN4iCwmHQ6974qNXMN0yNo0Ib071kV4gNk4&amp;dib_tag=se&amp;keywords=%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3&amp;qid=1723712376&amp;sr=8-1&amp;linkCode=ll1&amp;tag=https://www.amazon.co.jp/PHP%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E4%B8%8A-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E3%81%A8%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%81%AE%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E9%80%A3%E6%90%BA%E3%81%BE%E3%81%A7-%E5%A4%A7%E5%AE%B6-%E6%AD%A3%E7%99%BB/dp/4297114682?dib=eyJ2IjoiMSJ9.74YDItYNn-AHro6XQ1cSslRSHUvp_S8S4MVJtvnW_XswliMGieYQktGbaTJY9E-Qpy3y3roMKB8M-zKI3K7otpqjDxkuoq7ncq-6mLf3BEkcNW05BAHDZZ17WZueAniDY7peSrmp4Ji0L0BkXOaJIBbpqa628I6bjQBED1FQ9V7BJqUJVUUxz6ns2GIHnoSItDTgCRaIpNi9fMcBrt3jqZr1qNJxCmBn8-xPR9N3usFpENEEChvMwvGdHoHu1hjsq6g9GvJDwPPBTwhQvDgXG2KZQ5CBlEx_wQjQy06hFcw.xxCKw6aGhA397JIEATXvL3RNC7D4_k4avRIYczzkjHw&amp;dib_tag=se&amp;keywords=PHP%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80&amp;qid=1723712413&amp;sr=8-6&amp;linkCode=ll1&amp;tag=kekenta03am0b-22&amp;linkId=16a4b7edeeedcc86aef9f0b8c45cc669&amp;language=ja_JP&amp;ref_=as_li_ss_tl-22&amp;linkId=04fec4999f3ec4094bf4fd1126da8b84&amp;language=ja_JP&amp;ref_=as_li_ss_tl" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="amazon 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]"  data-vars-amp-click-id="amazon 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]">Amazon</a>					</li>
													<li class="rakutenlink">
						<a href="https://hb.afl.rakuten.co.jp/hgc/g00q072g.bdzz22a5.g00q072g.bdzz326e/Rinker_t_20240325051043?pc=https%3A%2F%2Fitem.rakuten.co.jp%2Fbook%2F15472730%2F&amp;m=http%3A%2F%2Fm.rakuten.co.jp%2Fbook%2Fi%2F19130417%2F&amp;rafcid=wsc_i_is_1047822029026699702" rel="nofollow" class="yyi-rinker-link yyi-rinker-tracking"  data-click-tracking="rakuten 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]"  data-vars-amp-click-id="rakuten 3655 体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 [ 徳丸 浩 ]">楽天市場</a>					</li>
								                											</ul>
					</div>
	</div>
</div>



<p class="is-style-bg_stripe wp-block-paragraph"><a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=1FQAOXKEGI9HT&amp;dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFis4f3XHMUvarmNijcsU4Nmvl3Tud_nU0g7agEl3ercb-Os7uj_I-9w5xejzyw_JwMcs7FC4uVP9jc3sHC7c9ZuDT_gwuJFliueZNV3zuXq4731v-JAlEh4pR64KI-_puhFly0i_zkfDlsH2xTLQWoeNNIM9FkS584d43eeD8-mNtPjbtKK1lmvjecUb-VALfXImg-mACYpqlPWhTawzlYmnCmT85BL5k4gVzrtlErnyRPeFE4qCXwaN884rSGk9l6PGCfVcIoDQOg1lp8Ia-RWA.i4wIGc7KFczkxeNgrmVo03tuk6Fod-K6t-LEHGJtLtE&amp;dib_tag=se&amp;keywords=Web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&amp;qid=1718235109&amp;sprefix=web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%2Caps%2C186&amp;sr=8-1&amp;linkCode=ll1&amp;tag=kekenta03amaz-22&amp;linkId=dc5df2a77d4a028f4519e6b2a07ffb84&amp;language=ja_JP&amp;ref_=as_li_ss_tl"><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNNDQgMkgzMGMtMS4xIDAtMiAuOS0yIDJzLjkgMiAyIDJoOS4yTDI0IDIxLjJjLS44LjgtLjggMiAwIDIuOHMyIC44IDIuOCAwTDQyIDguOFYxOGMwIDEuMS45IDIgMiAyczItLjkgMi0yVjRjMC0xLjEtLjktMi0yLTJ6Ij48L3BhdGg+PHBhdGggZD0iTTQxIDI3Yy0xLjEgMC0yIC45LTIgMnYxMGMwIDEuMS0uOSAyLTIgMkg5Yy0xLjEgMC0yLS45LTItMlYxMWMwLTEuMS45LTIgMi0yaDEwYzEuMSAwIDItLjkgMi0ycy0uOS0yLTItMkg5Yy0zLjMgMC02IDIuNy02IDZ2MjhjMCAzLjMgMi43IDYgNiA2aDI4YzMuMyAwIDYtMi43IDYtNlYyOWMwLTEuMS0uOS0yLTItMnoiPjwvcGF0aD48L3N2Zz4=)" data-icon="LsExternalLink" data-id="1" aria-hidden="true" class="swl-inline-icon"> </span>体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践</a><span style="--the-icon-svg: url(data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjFlbSIgd2lkdGg9IjFlbSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBhcmlhLWhpZGRlbj0idHJ1ZSIgdmlld0JveD0iMCAwIDQ4IDQ4Ij48cGF0aCBkPSJNMTEuNyAxLjQgNi44IDVjLS41LjQtLjggMS0uOCAxLjZ2MjguN2MwIC44LjUgMS41IDEuMiAxLjhsMjQgMTAuM2MxLjMuNiAyLjgtLjQgMi44LTEuOFYxOWMwLS44LS41LTEuNS0xLjItMS44TDEwLjIgNy41bDIuOS0yLjJjLjktLjYgMi0uOCAzLS40bDIwLjYgOC44Yy43LjMgMS4yIDEgMS4yIDEuOFY0Mi45YzAgLjkgMSAxLjMgMS43LjhsMS43LTEuNWMuNC0uNC43LS45LjctMS41VjEzYzAtLjgtLjUtMS41LTEuMi0xLjhMMTYuNy44Yy0xLjctLjctMy42LS41LTUgLjZ6Ij48L3BhdGg+PC9zdmc+)" data-icon="LsBook" data-id="47" aria-hidden="true" class="swl-inline-icon"> </span><br>徳丸 浩／著　SBクリエイティブ／出版│<a href="https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165?__mk_ja_JP=%E3%82%AB%E3%82%BF%E3%82%AB%E3%83%8A&amp;crid=1FQAOXKEGI9HT&amp;dib=eyJ2IjoiMSJ9.ksxMxdA4KTXnYLFgVxMFis4f3XHMUvarmNijcsU4Nmvl3Tud_nU0g7agEl3ercb-Os7uj_I-9w5xejzyw_JwMcs7FC4uVP9jc3sHC7c9ZuDT_gwuJFliueZNV3zuXq4731v-JAlEh4pR64KI-_puhFly0i_zkfDlsH2xTLQWoeNNIM9FkS584d43eeD8-mNtPjbtKK1lmvjecUb-VALfXImg-mACYpqlPWhTawzlYmnCmT85BL5k4gVzrtlErnyRPeFE4qCXwaN884rSGk9l6PGCfVcIoDQOg1lp8Ia-RWA.i4wIGc7KFczkxeNgrmVo03tuk6Fod-K6t-LEHGJtLtE&amp;dib_tag=se&amp;keywords=Web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3&amp;qid=1718235109&amp;sprefix=web%E3%82%A2%E3%83%97%E3%83%AA+%E3%82%BB%E3%82%AD%E3%83%A5%E3%83%AA%E3%83%86%E3%82%A3%2Caps%2C186&amp;sr=8-1&amp;linkCode=ll1&amp;tag=kekenta03amaz-22&amp;linkId=dc5df2a77d4a028f4519e6b2a07ffb84&amp;language=ja_JP&amp;ref_=as_li_ss_tl">Amazon</a></p>



<p class="wp-block-paragraph">こちらの書籍は通称<strong>徳丸本</strong>と呼ばれており、Webセキュリティの第一人者である徳丸浩さんが手がけられている書籍です。<strong>Webアプリを開発する方</strong>や<strong>Webアプリケーションのセキュリティ対策を徹底的に学びたい方</strong>にとてもオススメできる一冊です。</p>



<p class="wp-block-paragraph">Webアプリケーション開発において、ある意味セキュリティ対策は技術力以上に重要です。</p>



<p class="wp-block-paragraph">こちらの書籍を読むことでWebアプリケーションにおいて必要なセキュリティ要件も明確となるため、Webアプリ開発に携わる方は必ず目を通しておきたい一冊です。</p>


<div class="swell-block-balloon"><div class="c-balloon -bln-left" data-col="gray"><div class="c-balloon__icon -circle"><img decoding="async" src="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==" data-src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="lazyload c-balloon__iconImg" width="80px" height="80px"><noscript><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2023/07/キリッ-150x150.jpg" alt="" class="c-balloon__iconImg" width="80px" height="80px"></noscript><span class="c-balloon__iconName">ケケンタ</span></div><div class="c-balloon__body -speaking -border-on"><div class="c-balloon__text">
<p>最後までお読みいただきありがとうございました！<br>また別の記事でお会いできれば光栄です！</p>
<span class="c-balloon__shapes"><span class="c-balloon__before"></span><span class="c-balloon__after"></span></span></div></div></div></div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__dir-trav-php__1016-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/dir-trav-php/">【ディレクトリ・トラバーサル】概要と対策方法を解説【PHP対策コード】</a>
						<span class="p-blogCard__excerpt">今回はセキュリティ攻撃の１つであるディレクトリ・トラバーサルについて解説をしていきます。 ディレクトリ・トラバーサル攻撃を受けてしまうと、被害内容によっては社&#8230;</span>					</div>
				</div>
			</div>
		</div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__xss-php__961-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/xss-php/">【XSS】クロスサイト・スクリプティングとは？対策方法も解説【PHP】</a>
						<span class="p-blogCard__excerpt">今回はWebアプリにおけるセキュリティ攻撃の１つであるXSS（クロスサイト・スクリプティング）について解説をしていきます。  この記事を読むと分かること XSS（クロス&#8230;</span>					</div>
				</div>
			</div>
		</div>

<div class="swell-block-postLink">			<div class="p-blogCard -internal" data-type="type2" data-onclick="clickLink">
				<div class="p-blogCard__inner">
					<span class="p-blogCard__caption">あわせて読みたい</span>
					<div class="p-blogCard__thumb c-postThumb"><figure class="c-postThumb__figure"><img decoding="async" src="https://kekenta-it-blog.com/wp-content/uploads/2024/04/eye-catch__csrf-php__918-300x169.jpg" alt="" class="c-postThumb__img u-obf-cover" width="320" height="180"></figure></div>					<div class="p-blogCard__body">
						<a class="p-blogCard__title" href="https://kekenta-it-blog.com/csrf-php/">【CSRF】攻撃の流れやPHPでの対策方法を解説【クロスサイトリクエストフォージェリ】</a>
						<span class="p-blogCard__excerpt">Webサイトへのセキュリティ攻撃の１つにCSRF（クロスサイトリクエストフォージェリ）というものがあります。 この記事では、 CSRFの攻撃の流れ 攻撃による影響・被害 PH&#8230;</span>					</div>
				</div>
			</div>
		</div>]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
