<?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>PHP Tutorials By Kloplop321 &#187; SQL</title>
	<atom:link href="http://kloplop321.com/php-tutorials/index.php/tag/sql/feed/" rel="self" type="application/rss+xml" />
	<link>http://kloplop321.com/php-tutorials</link>
	<description>PHP video tutorials, for everyone.</description>
	<lastBuildDate>Sun, 05 Sep 2010 00:13:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>PHP &amp; MySQL Tutorial 13: Posting on a Blog</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/07/07/php-mysql-tutorial-13-posting-on-a-blog/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/07/07/php-mysql-tutorial-13-posting-on-a-blog/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 23:51:14 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[Insert]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[posting]]></category>
		<category><![CDATA[sql insert]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=292</guid>
		<description><![CDATA[This tutorial in essence goes over implementing posting and inserting data into a database, along with data validation for the blog. This one also extends on Tutorial 10, 11, 12, so please check those out if you have not. Here&#8217;s the plan: Make a page for posting Make a form Get the SQL for inserting [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial in essence goes over implementing posting and inserting data into a database, along with data validation for the blog. This one also extends on Tutorial 10, 11, 12, so please check those out if you have not.<br />
Here&#8217;s the plan:</p>
<ul>
<li>Make a page for posting</li>
<li>Make a form</li>
<li>Get the SQL for inserting</li>
<li>Prepare and validate data</li>
<li>Test page functionality</li>
<li>Finalize and clean up</li>
</ul>
<p>Part 1:<br />
<object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/tw-Xq-s7GaY&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/tw-Xq-s7GaY&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<p>Make sure to click on Read More so that you may see Part 2 and the sources.<br />
<span id="more-292"></span><br />
Part 2:<br />
<object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/86KwvmdW3fE&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/86KwvmdW3fE&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<p>So, back to the plan, I created the page to post from, and named it &#8220;put.php&#8221; and modeled the HTML from blog.php. I then put a form for posting in the put.php. At this point, I now have the static page done. By static, I mean that the part of the page that isn&#8217;t supposed to change. So, at this point, I need to put in the <em>dynamic</em> part into the page.<br />
Here&#8217;s <em>put.php</em> so you may refer to it.<br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">include</span><span class="operators">(</span><span class="strings">&#8220;connect.php&#8221;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="keywords">isset</span><span class="operators">(</span><span class="variables">$_POST</span><span class="operators">[</span><span class="strings">'sub'</span><span class="operators">])){</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$title</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">stripslashes</span><span class="operators">(</span><span class="identifiers">trim</span><span class="operators">(</span><span class="variables">$_POST</span><span class="operators">[</span><span class="strings">'title'</span><span class="operators">]));</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$content</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">stripslashes</span><span class="operators">(</span><span class="identifiers">trim</span><span class="operators">(</span><span class="variables">$_POST</span><span class="operators">[</span><span class="strings">'content'</span><span class="operators">]));</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$title2</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="variables">$title</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$content2</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="variables">$content</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$error</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="keywords">false</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$reason</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="strings">&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="identifiers">strlen</span><span class="operators">(</span><span class="variables">$title</span><span class="operators">)</span><span class="default">&nbsp;</span><span class="operators">&lt;</span><span class="default">&nbsp;</span><span class="numbers">3</span><span class="operators">){</span><br />
<span class="linenumbers">&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$error</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="keywords">true</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$reason</span><span class="default">&nbsp;</span><span class="operators">.=</span><span class="default">&nbsp;</span><span class="strings">&#8220;Bad&nbsp;Title.\n&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="identifiers">strlen</span><span class="operators">(</span><span class="variables">$content</span><span class="operators">)</span><span class="default">&nbsp;</span><span class="operators">&lt;</span><span class="default">&nbsp;</span><span class="numbers">3</span><span class="operators">){</span><br />
<span class="linenumbers">&nbsp;&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$error</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="keywords">true</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$reason</span><span class="default">&nbsp;</span><span class="operators">.=</span><span class="default">&nbsp;</span><span class="strings">&#8220;Bad&nbsp;Post&nbsp;Content.\n&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(!</span><span class="variables">$error</span><span class="operators">){</span><br />
<span class="linenumbers">&nbsp;&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$title</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_real_escape_string</span><span class="operators">(</span><span class="variables">$title</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$content</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_real_escape_string</span><span class="operators">(</span><span class="variables">$content</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$sql</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="strings">&#8220;INSERT&nbsp;INTO&nbsp;`posts`&nbsp;(`ID`,&nbsp;`username`,&nbsp;`title`,&nbsp;`content`,&nbsp;`date`)&nbsp;VALUES</span><br />
<span class="linenumbers">&nbsp;&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">(NULL,&nbsp;&#8221;</span><span class="operators">.</span><span class="variables">$_SESSION</span><span class="operators">[</span><span class="strings">'userid'</span><span class="operators">].</span><span class="strings">&#8220;,&nbsp;&#8217;</span><span class="variables">$title</span><span class="strings">&#8216;,&nbsp;&#8217;</span><span class="variables">$content</span><span class="strings">&#8216;,&nbsp;&#8221;</span><span class="operators">.</span><span class="identifiers">time</span><span class="operators">().</span><span class="strings">&#8220;)&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">mysql_query</span><span class="operators">(</span><span class="variables">$sql</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="identifiers">mysql_errno</span><span class="operators">()){</span><br />
<span class="linenumbers">&nbsp;&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$reason</span><span class="default">&nbsp;</span><span class="operators">.=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_error</span><span class="operators">();</span><br />
<span class="linenumbers">&nbsp;&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><span class="keywords">else</span><span class="operators">{</span><br />
<span class="linenumbers">&nbsp;&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">header</span><span class="operators">(</span><span class="strings">&#8220;location:&nbsp;blog.php&#8221;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><span class="keywords">else</span><span class="operators">{</span><br />
<span class="linenumbers">&nbsp;&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="strings">&#8216;&lt;?xml&nbsp;version=&#8221;1.0&#8243;&nbsp;encoding=&#8221;UTF-8&#8243;?&gt;&#8217;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;37&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#8221;&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">html</span><span class="default">&nbsp;</span><span class="attribute_name">xmlns</span><span class="operators">=</span><span class="strings">&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">xml:lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">title</span><span class="tags">&gt;</span><span class="default">Blog&nbsp;title</span><span class="tags">&lt;/</span><span class="tags">title</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">link</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;main.css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text/css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">media</span><span class="operators">=</span><span class="strings">&#8220;screen&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">rel</span><span class="operators">=</span><span class="strings">&#8220;stylesheet&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;maincontent&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;top&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blog&nbsp;title</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;postform&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">form</span><span class="default">&nbsp;</span><span class="attribute_name">method</span><span class="operators">=</span><span class="strings">&#8220;POST&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">action</span><span class="operators">=</span><span class="strings">&#8220;?&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;49&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Title:&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">name</span><span class="operators">=</span><span class="strings">&#8220;title&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">id</span><span class="operators">=</span><span class="strings">&#8220;postformtitle&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">value</span><span class="operators">=</span><span class="strings">&#8220;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="keywords">isset</span><span class="operators">(</span><span class="variables">$title2</span><span class="operators">)){</span><br />
<span class="linenumbers">&nbsp;&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$title2</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;52&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="strings">&#8220;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;54&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Main&nbsp;Content:</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;55&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">textarea</span><span class="default">&nbsp;</span><span class="attribute_name">name</span><span class="operators">=</span><span class="strings">&#8220;content&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">id</span><span class="operators">=</span><span class="strings">&#8220;postformcontent&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">cols</span><span class="operators">=</span><span class="strings">&#8220;40&#8243;</span><span class="default">&nbsp;</span><span class="attribute_name">rows</span><span class="operators">=</span><span class="strings">&#8220;4&#8243;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;56&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="keywords">isset</span><span class="operators">(</span><span class="variables">$content2</span><span class="operators">)){</span><br />
<span class="linenumbers">&nbsp;&nbsp;57&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$content2</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;58&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;59&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">textarea</span><span class="tags">&gt;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;60&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;submit&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">value</span><span class="operators">=</span><span class="strings">&#8220;Send!&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;61&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;hidden&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">name</span><span class="operators">=</span><span class="strings">&#8220;sub&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">value</span><span class="operators">=</span><span class="strings">&#8220;1&#8243;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;62&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">form</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;63&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;errors&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;64&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;65&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="operators">(</span><span class="keywords">isset</span><span class="operators">(</span><span class="variables">$reason</span><span class="operators">)){</span><br />
<span class="linenumbers">&nbsp;&nbsp;66&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="variables">$reason</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;67&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;68&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;69&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;70&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;71&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><span class="comments2">&lt;!&#8211;&nbsp;end&nbsp;of&nbsp;maincontent&nbsp;&#8211;&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;72&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;73&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">html</span><span class="tags">&gt;</span></p>
<p>As you see, I am using the isset((some form variable here)) thing to see if any data is being submitted. Within the code block (lines 4-32), I <em>prepare</em> the data by using both <a href="http://www.php.net/manual/en/function.trim.php">trim</a> and <a href="http://www.php.net/manual/en/function.stripslashes.php">stripslashes</a> to clean up the content. The most important part is the strip slashes. For if I do not use it, a statement like<br />
Hello &#8220;My Dear&#8221;<br />
Will end up in the variable as<br />
Hello \&#8221;My Dear\&#8221;</p>
<p>Obviously, a dirty escape is not what we want to show the user. Handling data like this can be very infuriating if you do not initially handle issues like this.<br />
Furthermore, I duplicate the title and content variables so that the now-unescaped content could be fed back into the form if an error occurred. Then I do further data validation. In my case, I don&#8217;t want a post without any content, or a title. Therefore, preventative action is used so I will not end up with an undesired result.<br />
Next, if all my tests are good, then I try to post the content using SQL INSERT. I grabbed the SQL to base it on from a table export, which uses similar syntax, I just needed to modify the example to fit my needs for new dynamic content.</p>
<p>However, when an error has occurred, I need to feed the data back in so the user doesn&#8217;t have to type everything back in. Ever had that happen? If you have had that happen because of something like &#8220;Oh noes, your session is <span style="text-decoration: underline;">over</span>!&#8221;, I bet you found it really disheartening. Well, don&#8217;t make it happen to your users because a database problem happened, or they made a mistake on their side by forgetting a title. <em>Make your systems <span style="text-decoration: underline;">forgiving</span></em>!<br />
So, this is why I had those duplicate variables. I can safely put these back into the page by using <a href="http://www.php.net/manual/en/function.htmlentities.php">htmlentities</a> to convert all special characters to their HTML form, as to act as text, and not literal text. Literal text can have other effects, like putting in &lt;a href=&#8221;http://evilwebsite.com/with/viruses&#8221;&gt;Friendly cute puppies&lt;/a&gt; into the post, if it did not have htmlentities, it would allow problematic issues to arise.</p>
<p>Other than that, all I did to any other file, was add a link in blog.php<br />
<span class="linenumbers">&nbsp;&nbsp;59&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">li</span><span class="tags">&gt;</span><span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;put.php&#8221;</span><span class="tags">&gt;</span><span class="default">Post</span><span class="tags">&lt;/</span><span class="tags">a</span><span class="tags">&gt;</span><span class="tags">&lt;/</span><span class="tags">li</span><span class="tags">&gt;</span></p>
<p>So, anyway, You may download the <a href="http://kloplop321.com/tut/phpmysql/blog/blog-4.zip">Zip Archive</a> that contains the sources so that you may experiment with them.<br />
The Next tutorial will be going over editing, and the next will most likely be going over changing to a visual editor for the post. </p>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/07/07/php-mysql-tutorial-13-posting-on-a-blog/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PHP &amp; MySQL Tutorial 11: Extending a Basic Blog</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/06/29/php-mysql-tutorial-11-extending-a-basic-blog/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/06/29/php-mysql-tutorial-11-extending-a-basic-blog/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 20:30:33 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[inner]]></category>
		<category><![CDATA[join]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=271</guid>
		<description><![CDATA[This tutorial goes over an inner join SQL query and extending the basic blog from tutorial 10 to have a link to a single-post page. First of all, I am basing this tutorial on the last tutorial(10), which established a basic blog. Here we are going to compound the original statement that looks like SELECT [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial goes over an inner join SQL query and extending the basic blog from tutorial 10 to have a link to a single-post page.<br />
First of all, I am basing this tutorial on the <a href="http://kloplop321.com/php-tutorials/index.php/2010/06/26/php-mysql-tutorial-10-starting-a-basic-blog/">last tutorial(10)</a>, which established a basic blog. Here we are going to compound the original statement that looks like<br />
<code>SELECT * FROM posts ORDER BY date DESC</code><br />
What we are trying to do however, is to remove the statement that looks like<br />
<code>"SELECT postname FROM users WHERE ID = ”.$row['username']</code><br />
and preserve the information on &#8220;Who posted it.&#8221;<br />
The Second objective of this tutorial is to simply make the titles of the blog posts linked to a page that shows that post exclusively.<br />
Here is Part 1 out of three, please watch all in their entirety so that you may understand them to the fullest.<br />
Part 1:</p>
<p><object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/yXa1yEfNyNk&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/yXa1yEfNyNk&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<p>Click on Read More to view the sources along with Part 2 and 3 of the video<br />
<span id="more-271"></span></p>
<p>Part 2: </p>
<p><object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/0-ErGYJsft8&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/0-ErGYJsft8&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object><br />
Part 3:</p>
<p><object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/bITAMXuVMk8&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/bITAMXuVMk8&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object><br />
First of all, I&#8217;m going to regurgitate the sources of this project and then explain what everything new means.<br />
File: blog.php</p>
<p><span class="linenumbers">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">include</span><span class="operators">(</span><span class="strings">&#8220;connect.php&#8221;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="strings">&#8216;&lt;?xml&nbsp;version=&#8221;1.0&#8243;&nbsp;encoding=&#8221;UTF-8&#8243;?&gt;&#8217;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#8221;&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">html</span><span class="default">&nbsp;</span><span class="attribute_name">xmlns</span><span class="operators">=</span><span class="strings">&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">xml:lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">title</span><span class="tags">&gt;</span><span class="default">Blog&nbsp;title</span><span class="tags">&lt;/</span><span class="tags">title</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">link</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;main.css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text/css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">media</span><span class="operators">=</span><span class="strings">&#8220;screen&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">rel</span><span class="operators">=</span><span class="strings">&#8220;stylesheet&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;maincontent&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;top&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Blog&nbsp;title</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;posts&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$sql</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="strings">&#8220;SELECT&nbsp;posts.ID&nbsp;as&nbsp;`ID`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">users.postname&nbsp;as&nbsp;`postname`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.title&nbsp;as&nbsp;`title`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.content&nbsp;as&nbsp;`content`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.date&nbsp;as&nbsp;`date`&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">FROM&nbsp;posts&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">INNER&nbsp;JOIN&nbsp;users&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">ON&nbsp;users.ID&nbsp;=&nbsp;posts.username</span><br />
<span class="linenumbers">&nbsp;&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">ORDER&nbsp;BY&nbsp;date&nbsp;DESC&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$result</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_query</span><span class="operators">(</span><span class="variables">$sql</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">while</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">=</span><span class="identifiers">mysql_fetch_array</span><span class="operators">(</span><span class="variables">$result</span><span class="operators">)){</span><br />
<span class="linenumbers">&nbsp;&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;post&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">span</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;author&#8221;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'postname'</span><span class="operators">];</span><br />
<span class="linenumbers">&nbsp;&nbsp;37&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">span</span><span class="tags">&gt;</span><span class="default">&nbsp;Wrote&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;title&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;post.php?post=</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'ID'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="strings">&#8216;&#8221;&gt;&#8217;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'title'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="default">&lt;/a&gt;&nbsp;at&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">date</span><span class="operators">(</span><span class="strings">&#8216;l&nbsp;jS&nbsp;\of&nbsp;F&nbsp;Y&nbsp;h:i:s&nbsp;A&#8217;</span><span class="operators">,(</span><span class="keywords">int</span><span class="operators">)</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'date'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;content&#8221;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'content'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;49&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;50&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;51&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;52&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;53&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;54&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;55&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">html</span><span class="tags">&gt;</span></p>
<p>File: Post.php</p>
<p><span class="linenumbers">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">include</span><span class="operators">(</span><span class="strings">&#8220;connect.php&#8221;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$postid</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="operators">(</span><span class="keywords">int</span><span class="operators">)</span><span class="identifiers">trim</span><span class="operators">(</span><span class="variables">$_GET</span><span class="operators">[</span><span class="strings">'post'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$sql</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="strings">&#8220;SELECT&nbsp;posts.ID&nbsp;as&nbsp;`ID`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">users.postname&nbsp;as&nbsp;`postname`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.title&nbsp;as&nbsp;`title`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.content&nbsp;as&nbsp;`content`,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">posts.date&nbsp;as&nbsp;`date`</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">FROM&nbsp;posts&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">INNER&nbsp;JOIN&nbsp;users&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">ON&nbsp;users.ID&nbsp;=&nbsp;posts.username</span><br />
<span class="linenumbers">&nbsp;&nbsp;15&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;16&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">WHERE&nbsp;posts.ID&nbsp;=&nbsp;</span><span class="variables">$postid</span><br />
<span class="linenumbers">&nbsp;&nbsp;17&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="strings">ORDER&nbsp;BY&nbsp;date&nbsp;DESC&#8221;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;18&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$result</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_query</span><span class="operators">(</span><span class="variables">$sql</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;19&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$postdata</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="keywords">array</span><span class="operators">();</span><br />
<span class="linenumbers">&nbsp;&nbsp;20&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">while</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">=</span><span class="identifiers">mysql_fetch_array</span><span class="operators">(</span><span class="variables">$result</span><span class="operators">)){</span><br />
<span class="linenumbers">&nbsp;&nbsp;21&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$postdata</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="variables">$row</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;22&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;23&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;24&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="strings">&#8216;&lt;?xml&nbsp;version=&#8221;1.0&#8243;&nbsp;encoding=&#8221;UTF-8&#8243;?&gt;&#8217;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;25&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;26&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&lt;!DOCTYPE&nbsp;html&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;XHTML&nbsp;1.0&nbsp;Strict//EN&#8221;&nbsp;&#8221;http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd&#8221;&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;27&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">html</span><span class="default">&nbsp;</span><span class="attribute_name">xmlns</span><span class="operators">=</span><span class="strings">&#8220;http://www.w3.org/1999/xhtml&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">xml:lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">lang</span><span class="operators">=</span><span class="strings">&#8220;en&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;28&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;29&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">title</span><span class="tags">&gt;</span><span class="default">Blog&nbsp;title&nbsp;-&gt;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;30&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$postdata</span><span class="operators">[</span><span class="strings">'title'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;31&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">title</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;32&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">link</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;main.css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text/css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">media</span><span class="operators">=</span><span class="strings">&#8220;screen&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">rel</span><span class="operators">=</span><span class="strings">&#8220;stylesheet&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;33&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;34&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;35&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;maincontent&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;36&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;top&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;37&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;blog.php&#8221;</span><span class="tags">&gt;</span><span class="default">Blog&nbsp;title</span><span class="tags">&lt;/</span><span class="tags">a</span><span class="tags">&gt;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;posts&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;post&#8221;</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">span</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;author&#8221;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><span class="default">&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$postdata</span><span class="operators">[</span><span class="strings">'postname'</span><span class="operators">]);</span><span class="default">&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">span</span><span class="tags">&gt;</span><span class="default">&nbsp;Wrote&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">span</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;title&#8221;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><span class="default">&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$postdata</span><span class="operators">[</span><span class="strings">'title'</span><span class="operators">]);</span><span class="default">&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">span</span><span class="tags">&gt;</span><span class="default">&nbsp;at&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">date</span><span class="operators">(</span><span class="strings">&#8216;l&nbsp;jS&nbsp;\of&nbsp;F&nbsp;Y&nbsp;h:i:s&nbsp;A&#8217;</span><span class="operators">,(</span><span class="keywords">int</span><span class="operators">)</span><span class="variables">$postdata</span><span class="operators">[</span><span class="strings">'date'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;43&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;44&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">div</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;content&#8221;</span><span class="tags">&gt;</span><span class="operators">&lt;?php</span><span class="default">&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$postdata</span><span class="operators">[</span><span class="strings">'content'</span><span class="operators">]);</span><span class="default">&nbsp;</span><span class="operators">?&gt;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;45&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;46&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;47&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">div</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;48&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="linenumbers">&nbsp;&nbsp;49&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">html</span><span class="tags">&gt;</span></p>
<p>File: Connect.php</p>
<p><span class="linenumbers">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="variables">$link</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">mysql_connect</span><span class="operators">(</span><span class="strings">&#8216;localhost&#8217;</span><span class="operators">,</span><span class="default">&nbsp;</span><span class="strings">&#8216;phpuser&#8217;</span><span class="operators">,</span><span class="default">&nbsp;</span><span class="strings">&#8216;phppass&#8217;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">if</span><span class="default">&nbsp;</span><span class="operators">(!</span><span class="variables">$link</span><span class="operators">)</span><span class="default">&nbsp;</span><span class="operators">{</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">die</span><span class="operators">(</span><span class="strings">&#8216;Could&nbsp;not&nbsp;connect:&nbsp;&#8217;</span><span class="default">&nbsp;</span><span class="operators">.</span><span class="default">&nbsp;</span><span class="identifiers">mysql_error</span><span class="operators">());</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">}</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comments2">//WE&nbsp;NEED&nbsp;to&nbsp;select&nbsp;the&nbsp;database!</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">mysql_selectdb</span><span class="operators">(</span><span class="strings">&#8220;tutorials_blog&#8221;</span><span class="operators">);</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span></p>
<p>The new INNER JOIN query:<br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;1&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;2&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">SELECT</span><span class="default">&nbsp;</span><span class="identifiers">posts</span><span class="operators">.</span><span class="identifiers">ID</span><span class="default">&nbsp;</span><span class="keywords">as</span><span class="default">&nbsp;`</span><span class="identifiers">ID</span><span class="default">`</span><span class="operators">,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;3&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">users</span><span class="operators">.</span><span class="identifiers">postname</span><span class="default">&nbsp;</span><span class="keywords">as</span><span class="default">&nbsp;`</span><span class="identifiers">postname</span><span class="default">`</span><span class="operators">,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;4&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">posts</span><span class="operators">.</span><span class="identifiers">title</span><span class="default">&nbsp;</span><span class="keywords">as</span><span class="default">&nbsp;`</span><span class="identifiers">title</span><span class="default">`</span><span class="operators">,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;5&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">posts</span><span class="operators">.</span><span class="identifiers">content</span><span class="default">&nbsp;</span><span class="keywords">as</span><span class="default">&nbsp;`</span><span class="identifiers">content</span><span class="default">`</span><span class="operators">,</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;6&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="identifiers">posts</span><span class="operators">.</span><span class="keywords">date</span><span class="default">&nbsp;</span><span class="keywords">as</span><span class="default">&nbsp;`</span><span class="keywords">date</span><span class="default">`&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;7&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;8&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">FROM</span><span class="default">&nbsp;</span><span class="identifiers">posts</span><span class="default">&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;&nbsp;9&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;10&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">INNER</span><span class="default">&nbsp;</span><span class="keywords">JOIN</span><span class="default">&nbsp;</span><span class="identifiers">users</span><span class="default">&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;11&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;12&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">ON</span><span class="default">&nbsp;</span><span class="identifiers">users</span><span class="operators">.</span><span class="identifiers">ID</span><span class="default">&nbsp;</span><span class="operators">=</span><span class="default">&nbsp;</span><span class="identifiers">posts</span><span class="operators">.</span><span class="identifiers">username</span><br />
<span class="linenumbers">&nbsp;&nbsp;13&nbsp;&nbsp;&nbsp;&nbsp;</span><br />
<span class="linenumbers">&nbsp;&nbsp;14&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">ORDER</span><span class="default">&nbsp;</span><span class="keywords">BY</span><span class="default">&nbsp;</span><span class="keywords">date</span><span class="default">&nbsp;</span><span class="identifiers">DESC</span></p>
<p>There are major differences between this query and the last one.</p>
<ul>
<li>Not selecting *(anything and everything in the tables)</li>
<li>Use of tableName.field</li>
<li>Use of the AS term</li>
<li>Use of INNER JOIN &#8230; ON (test of truth)</li>
</ul>
<p>First of all in this query, we are no longer selecting * (anything and everything), because we have information in the second table that we do not want to bother with. Because of this need for specification, we can consider it adding power to our SQL. We select <u>only</u> what we need, and that includes information from both the user table and the posts table. So, we use the format tableName.fieldName, for a real example, in our &#8220;ON&#8221; matching case, we use posts.username and users.ID. However, We want to replace the username field in posts with the postname field from the user table. As you can see, this requires some sort of matching and complexity. This is where the INNER JOIN comes in.<br />
We say INNER JOIN and then the table name, in our case users. Then, the most important part, the table data matching. We use ON and then a test of truth, or rather, does Column C from Table A match or satisfy the value in Column A in Table B.<br />
I use ON users.ID = posts.username, however the users.ID and posts.username can be switched. Obviously, this is the most important part because it specifies what we are matching so we get the correct data from both tables.<br />
Please see the video for how I implement this further, as it better show the process of how I compound the process.</p>
<p>Now for the second part, we wanted to put a link from the title of the posts, to a page that has only the post. Now, if you are reading this, you have already used that feature to get to that information. We may in the future implement a &#8220;read more&#8221; link system. Now, what I do is swap the span tag around the title, with an anchor tag (a). Then I put in a URL, this is where the<br />
<span class="linenumbers">&nbsp;&nbsp;38&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">class</span><span class="operators">=</span><span class="strings">&#8220;title&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;post.php?post=</span><span class="operators">&lt;?php</span><br />
<span class="linenumbers">&nbsp;&nbsp;39&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'ID'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;40&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="strings">&#8216;&#8221;&gt;&#8217;</span><span class="operators">;</span><br />
<span class="linenumbers">&nbsp;&nbsp;41&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keywords">echo</span><span class="default">&nbsp;</span><span class="identifiers">htmlentities</span><span class="operators">(</span><span class="variables">$row</span><span class="operators">[</span><span class="strings">'title'</span><span class="operators">]);</span><br />
<span class="linenumbers">&nbsp;&nbsp;42&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="operators">?&gt;</span><span class="default">&lt;/a&gt;&nbsp;at&nbsp;</span><span class="operators">&lt;?php</span><br />
is implemented.</p>
<p>Then, we simply need to make that post.php.<br />
Simply stated, we needed to use the base.html(included in the source download, and shown in the last tutorial), add the date back in, and prepare the SQL environment and change the SQL just a bit.<br />
The only change in the post page SQL is adding the WHERE clause in the correct place and not being ambiguous with what ID we are referring to. Hence, we end up with &#8220;WHERE posts.ID = $postid&#8221;<br />
We also need to get the $postid, and as shown above in the blog.php, the link is using the post variable inside of GET(note, I am not referring to the POST variable, the GET is used in the URL). I can safely use this without mysql_real_escape_string or the like because I am casting(forcing the variable type) to a number.<br />
Also, in the process of adding a post.php, I moved the MySQL connect information to connect.php which I am including now in both my blog.php and my post.php.<br />
The rest of the post.php was really just filling in the information into the base template. </p>
<p>This <a href="http://kloplop321.com/tut/phpmysql/blog/blog-2.zip">zip Archive</a> contains</p>
<ul>
<li>connect.php</li>
<li>joining.sql(the join query by itself)</li>
<li>base.html</li>
<li>blog.php</li>
<li>main.css</li>
<li>post.php</li>
<li>tutorials_blog.sql(the database dump, you can just import this)</li>
</ul>
<p>Remember, when you try to implement this tutorial on your end, you will need to change the MySQL connect information to work with your server or localhost settings.</p>
<p>Another thing, I forgot to show how to debug your SQL as I first mentioned(sorry), what you can do if you find out that something is not working or selecting the data correctly, after you do the query, you can do<br />
echo mysql_error();<br />
and it will tell you something if something is wrong. If nothing shows up, then it is your logic that is wrong, or you are not using the correct variables with the mysql_fetch_array</p>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/06/29/php-mysql-tutorial-11-extending-a-basic-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP &amp; MySQL Tutorial 09: File Upload system with records in MySQL</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/04/05/php-mysql-tutorial-09-file-upload-system-with-records-in-mysql/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/04/05/php-mysql-tutorial-09-file-upload-system-with-records-in-mysql/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 01:15:55 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[Insert]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[Uploading]]></category>
		<category><![CDATA[copy]]></category>
		<category><![CDATA[create]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[db]]></category>
		<category><![CDATA[directory]]></category>
		<category><![CDATA[file]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[ip information]]></category>
		<category><![CDATA[list]]></category>
		<category><![CDATA[move]]></category>
		<category><![CDATA[records]]></category>
		<category><![CDATA[select]]></category>
		<category><![CDATA[server]]></category>
		<category><![CDATA[upload]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=201</guid>
		<description><![CDATA[This tutorial goes over the concept of uploading files, and keeping records in a MySQL database. So lets try this When: I need to upload files and keep long term records on who uploaded and where it is. Why: I don&#8217;t know, you make up the reasons. What: Exactly do you need to keep record [...]]]></description>
			<content:encoded><![CDATA[<p>This tutorial goes over the concept of uploading files, and keeping records in a MySQL database.<br />
So lets try this<br />
When: I need to upload files and keep long term records on who uploaded and where it is.<br />
Why: I don&#8217;t know, you make up the reasons.<br />
What: Exactly do you need to keep record of? Time, who sent it, where is it?<br />
Who: Depends on how you implement<br />
Where: On the Internet!<br />
How: I&#8217;ll show you.</p>
<p>There are two parts, so pay attention closely. (The last part is always the most important) Don&#8217;t forget to see more of this post for the sources and part two!<br />
<object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/k4qlR7bO7Aw&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/k4qlR7bO7Aw&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<p><span id="more-201"></span><br />
<object type="application/x-shockwave-flash" style="width:800px; height:480px;" data="http://www.youtube.com/v/kNg6-tUem7s&#038;hl=en_US&#038;fs=1&#038;"><param name="movie" value="http://www.youtube.com/v/kNg6-tUem7s&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<p>So first we need to make our uploading page. It is pretty much an XHTML template base with an uploading form</p>
<p>
<span class="default">&lt;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;HTML&nbsp;4.0&nbsp;Transitional//EN&#8221;&gt;<br />
</span><span class="tags">&lt;</span><span class="tags">html</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">link</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;main.css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text/css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">media</span><span class="operators">=</span><span class="strings">&#8220;screen&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">rel</span><span class="operators">=</span><span class="strings">&#8220;stylesheet&#8221;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">title</span><span class="tags">&gt;</span><span class="default">Upload&nbsp;Index</span><span class="tags">&lt;/</span><span class="tags">title</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">head</span><span class="tags">&gt;</span></p>
<p><span class="tags">&lt;</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;</span><span class="tags">form</span><span class="default">&nbsp;</span><span class="attribute_name">enctype</span><span class="operators">=</span><span class="strings">&#8220;multipart/form-data&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">action</span><span class="operators">=</span><span class="strings">&#8220;upload.php&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">method</span><span class="operators">=</span><span class="strings">&#8220;post&#8221;</span><span class="tags">&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Choose&nbsp;your&nbsp;file&nbsp;to&nbsp;upload!<br />
</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">name</span><span class="operators">=</span><span class="strings">&#8220;uploadedfile&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;file&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;And&nbsp;what&nbsp;would&nbsp;you&nbsp;like&nbsp;to&nbsp;call&nbsp;it?&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">name</span><span class="operators">=</span><span class="strings">&#8220;title&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text&#8221;</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">input</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;submit&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">value</span><span class="operators">=</span><span class="strings">&#8220;upload&nbsp;file&#8221;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;/</span><span class="tags">form</span><span class="tags">&gt;</span></p>
<p><span class="tags">&lt;/</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">html</span><span class="tags">&gt;</span>
</p>
<p>The most important part is the input for the file, the submit button and the form itself. In this case we have to say that there are multiple parts(the text, and the file) for this file upload so we set the enctype to &#8220;multipart/form-data&#8221;.<br />
Since we are sending to another page(upload.php), we need to process it.<br />
In upload.php, the basic way to save the file to the uploads directory is like the following(not final)</p>
<p><code><span style="color: rgb(0, 0, 187);">&lt;?php<br /></span><br />
<span style="color: rgb(255, 128, 0);">//time&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;uploaded.<br /></span><span style="color: rgb(0, 0, 187);">$putItAt&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(221, 0, 0);">"uploads/"</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">basename</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$_FILES</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'uploadedfile'</span><span style="color: rgb(0, 119, 0);">][</span><span style="color: rgb(221, 0, 0);">'name'</span><span style="color: rgb(0, 119, 0);">]);<br /></span><span style="color: rgb(255, 128, 0);">//hmm,&nbsp;will&nbsp;they&nbsp;try&nbsp;uploading&nbsp;a&nbsp;script&nbsp;or&nbsp;a&nbsp;page&nbsp;that&nbsp;might&nbsp;be&nbsp;a&nbsp;security&nbsp;risk?<br />//lets&nbsp;prevent&nbsp;any&nbsp;.php&nbsp;from&nbsp;getting&nbsp;in,&nbsp;and&nbsp;rename&nbsp;with&nbsp;.txt<br /></span><span style="color: rgb(0, 0, 187);">$putItAt&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(0, 0, 187);">str_replace</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">"php"</span><span style="color: rgb(0, 119, 0);">,</span><span style="color: rgb(221, 0, 0);">"txt"</span><span style="color: rgb(0, 119, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 187);">$putItAt</span><span style="color: rgb(0, 119, 0);">);<br />
if(</span><span style="color: rgb(0, 0, 187);">move_uploaded_file</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$_FILES</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'uploadedfile'</span><span style="color: rgb(0, 119, 0);">][</span><span style="color: rgb(221, 0, 0);">'tmp_name'</span><span style="color: rgb(0, 119, 0);">],</span><span style="color: rgb(0, 0, 187);">$putItAt</span><span style="color: rgb(0, 119, 0);">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 128, 0);">//we&nbsp;could&nbsp;echo,&nbsp;but&nbsp;why&nbsp;don't&nbsp;we&nbsp;just&nbsp;go&nbsp;to&nbsp;the&nbsp;file&nbsp;list&nbsp;now?<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 187);">savedata</span><span style="color: rgb(0, 119, 0);">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 187);">header</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">"location:&nbsp;listfiles.php"</span><span style="color: rgb(0, 119, 0);">);</span><span style="color: rgb(255, 128, 0);">//redirect&nbsp;them&nbsp;to&nbsp;the&nbsp;listfiles.php&nbsp;page<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: rgb(0, 119, 0);">}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 128, 0);">//we&nbsp;failed.&nbsp;Lets&nbsp;try&nbsp;a&nbsp;slightly&nbsp;different&nbsp;method&nbsp;here.&nbsp;instead&nbsp;of&nbsp;moving,&nbsp;try&nbsp;copying<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 119, 0);">if(</span><span style="color: rgb(0, 0, 187);">copy</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$_FILES</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'uploadedfile'</span><span style="color: rgb(0, 119, 0);">][</span><span style="color: rgb(221, 0, 0);">'tmp_name'</span><span style="color: rgb(0, 119, 0);">],</span><span style="color: rgb(0, 0, 187);">$putItAt</span><span style="color: rgb(0, 119, 0);">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 128, 0);">//we&nbsp;have&nbsp;success!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 187);">savedata</span><span style="color: rgb(0, 119, 0);">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 187);">header</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">"location:&nbsp;listfiles.php"</span><span style="color: rgb(0, 119, 0);">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 128, 0);">//we&nbsp;totally&nbsp;failed...&nbsp;so&nbsp;lets&nbsp;tell&nbsp;them.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 119, 0);">echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'You&nbsp;totally&nbsp;failed.&nbsp;click&nbsp;&lt;a&nbsp;href="index.php"&gt;here&lt;/a&gt;&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;try&nbsp;again.'</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: rgb(0, 0, 187);">?&gt;</span></code></p>
<p>Next it is noticed that we aren&#8217;t saving any information in the database. Here comes the MySQL part.<br />
Make your table in the database, call it what ever you want, in my case I named it &#8216;thefiles&#8217;. The requirement is that we connect to the database and set our script up to be able to query in and for information.<br />
<code><span style="color: rgb(0, 0, 187);">$link&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(0, 0, 187);">mysql_connect</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">'localhost'</span><span style="color: rgb(0, 119, 0);">,&nbsp;</span><span style="color: rgb(221, 0, 0);">'phpuser'</span><span style="color: rgb(0, 119, 0);">,&nbsp;</span><span style="color: rgb(221, 0, 0);">'phppass'</span><span style="color: rgb(0, 119, 0);">);<br />if&nbsp;(!</span><span style="color: rgb(0, 0, 187);">$link</span><span style="color: rgb(0, 119, 0);">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: rgb(221, 0, 0);">'Could&nbsp;not&nbsp;connect:&nbsp;'&nbsp;</span><span style="color: rgb(0, 119, 0);">.&nbsp;</span><span style="color: rgb(0, 0, 187);">mysql_error</span><span style="color: rgb(0, 119, 0);">());<br />}<br /></span><span style="color: rgb(255, 128, 0);">//WE&nbsp;NEED&nbsp;to&nbsp;select&nbsp;the&nbsp;database!<br /></span><span style="color: rgb(0, 0, 187);">mysql_selectdb</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(221, 0, 0);">"tutorials_upload"</span><span style="color: rgb(0, 119, 0);">);</span></code><br />
By putting that at the top of our script, we now have a connection to the database so now we want to insert our information when it is uploaded. Now the question is: do we want to be redundant and have the inserting code twice(for copy and move), or do we want to make a function and refer to that function twice? Honestly I choose the later, it makes the code cleaner.<br />
<code><span style="color: rgb(255, 128, 0);"><br />
//function&nbsp;time!<br /></span><span style="color: rgb(0, 119, 0);">function&nbsp;</span><span style="color: rgb(0, 0, 187);">savedata</span><span style="color: rgb(0, 119, 0);">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: rgb(0, 0, 187);">$_FILES</span><span style="color: rgb(0, 119, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 187);">$_POST</span><span style="color: rgb(0, 119, 0);">,&nbsp;</span><span style="color: rgb(0, 0, 187);">$putItAt</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 0, 187);">$sql&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(221, 0, 0);">"INSERT&nbsp;INTO&nbsp;`tutorials_upload`.`thefiles`&nbsp;(<br />`ID`&nbsp;,<br />`Time`&nbsp;,<br />`FileLocation`&nbsp;,<br />`IP`&nbsp;,<br />`Title`<br />)<br />VALUES&nbsp;(<br />NULL&nbsp;,&nbsp;UNIX_TIMESTAMP(&nbsp;)&nbsp;,&nbsp;'"</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">mysql_real_escape_string</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$putItAt</span><span style="color: rgb(0, 119, 0);">).</span><span style="color: rgb(221, 0, 0);">"',&nbsp;'"</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">$_SERVER</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'REMOTE_ADDR'</span><span style="color: rgb(0, 119, 0);">].</span><span style="color: rgb(221, 0, 0);">"',&nbsp;'"</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">mysql_real_escape_string</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$_POST</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'title'</span><span style="color: rgb(0, 119, 0);">]).</span><span style="color: rgb(221, 0, 0);">"'<br />);"</span><span style="color: rgb(0, 119, 0);">;<br /></span><span style="color: rgb(0, 0, 187);">mysql_query</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$sql</span><span style="color: rgb(0, 119, 0);">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />
</span></code></p>
<p>So now that I have this function, I need to implement it into the uploading code.<br />
So, now my code finally for <i>upload.php</i> is<br />
<code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php<br />
$link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'localhost'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'phpuser'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'phppass'</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">$link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;connect:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /></span><span style="color: #FF8000">//WE&nbsp;NEED&nbsp;to&nbsp;select&nbsp;the&nbsp;database!<br /></span><span style="color: #0000BB">mysql_selectdb</span><span style="color: #007700">(</span><span style="color: #DD0000">"tutorials_upload"</span><span style="color: #007700">);<br />
if(!</span><span style="color: #0000BB">is_dir</span><span style="color: #007700">(</span><span style="color: #DD0000">"uploads"</span><span style="color: #007700">)){</span><span style="color: #FF8000">//do&nbsp;we&nbsp;need&nbsp;to&nbsp;make&nbsp;the&nbsp;uploads&nbsp;directory&nbsp;for&nbsp;the&nbsp;files?<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">mkdir</span><span style="color: #007700">(</span><span style="color: #DD0000">"uploads"</span><span style="color: #007700">);</span><span style="color: #FF8000">//make&nbsp;the&nbsp;rest&nbsp;of&nbsp;the&nbsp;script&nbsp;safe,&nbsp;though&nbsp;this&nbsp;will&nbsp;only&nbsp;be&nbsp;done&nbsp;once<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">}<br /></span><span style="color: #FF8000">//function&nbsp;time!<br /></span><span style="color: #007700">function&nbsp;</span><span style="color: #0000BB">savedata</span><span style="color: #007700">(){<br />&nbsp;&nbsp;&nbsp;&nbsp;global&nbsp;</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$putItAt</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"INSERT&nbsp;INTO&nbsp;`tutorials_upload`.`thefiles`&nbsp;(<br />`ID`&nbsp;,<br />`Time`&nbsp;,<br />`FileLocation`&nbsp;,<br />`IP`&nbsp;,<br />`Title`<br />)<br />VALUES&nbsp;(<br />NULL&nbsp;,&nbsp;UNIX_TIMESTAMP(&nbsp;)&nbsp;,&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$putItAt</span><span style="color: #007700">).</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'REMOTE_ADDR'</span><span style="color: #007700">].</span><span style="color: #DD0000">"',&nbsp;'"</span><span style="color: #007700">.</span><span style="color: #0000BB">mysql_real_escape_string</span><span style="color: #007700">(</span><span style="color: #0000BB">$_POST</span><span style="color: #007700">[</span><span style="color: #DD0000">'title'</span><span style="color: #007700">]).</span><span style="color: #DD0000">"'<br />);"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />}<br />
</span><span style="color: #FF8000">//time&nbsp;to&nbsp;see&nbsp;if&nbsp;the&nbsp;file&nbsp;is&nbsp;uploaded.<br /></span><span style="color: #0000BB">$putItAt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"uploads/"</span><span style="color: #007700">.</span><span style="color: #0000BB">basename</span><span style="color: #007700">(</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">'uploadedfile'</span><span style="color: #007700">][</span><span style="color: #DD0000">'name'</span><span style="color: #007700">]);<br /></span><span style="color: #FF8000">//hmm,&nbsp;will&nbsp;they&nbsp;try&nbsp;uploading&nbsp;a&nbsp;script&nbsp;or&nbsp;a&nbsp;page&nbsp;that&nbsp;might&nbsp;be&nbsp;a&nbsp;security&nbsp;risk?<br />//lets&nbsp;prevent&nbsp;any&nbsp;.php&nbsp;from&nbsp;getting&nbsp;in,&nbsp;and&nbsp;rename&nbsp;with&nbsp;.txt<br /></span><span style="color: #0000BB">$putItAt&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">str_replace</span><span style="color: #007700">(</span><span style="color: #DD0000">"php"</span><span style="color: #007700">,</span><span style="color: #DD0000">"txt"</span><span style="color: #007700">,&nbsp;</span><span style="color: #0000BB">$putItAt</span><span style="color: #007700">);<br />
if(</span><span style="color: #0000BB">move_uploaded_file</span><span style="color: #007700">(</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">'uploadedfile'</span><span style="color: #007700">][</span><span style="color: #DD0000">'tmp_name'</span><span style="color: #007700">],</span><span style="color: #0000BB">$putItAt</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//we&nbsp;could&nbsp;echo,&nbsp;but&nbsp;why&nbsp;don't&nbsp;we&nbsp;just&nbsp;go&nbsp;to&nbsp;the&nbsp;file&nbsp;list&nbsp;now?<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">savedata</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"location:&nbsp;listfiles.php"</span><span style="color: #007700">);</span><span style="color: #FF8000">//redirect&nbsp;them&nbsp;to&nbsp;the&nbsp;listfiles.php&nbsp;page<br />&nbsp;&nbsp;&nbsp;&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;<br /></span><span style="color: #007700">}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//we&nbsp;failed.&nbsp;Lets&nbsp;try&nbsp;a&nbsp;slightly&nbsp;different&nbsp;method&nbsp;here.&nbsp;instead&nbsp;of&nbsp;moving,&nbsp;try&nbsp;copying<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">if(</span><span style="color: #0000BB">copy</span><span style="color: #007700">(</span><span style="color: #0000BB">$_FILES</span><span style="color: #007700">[</span><span style="color: #DD0000">'uploadedfile'</span><span style="color: #007700">][</span><span style="color: #DD0000">'tmp_name'</span><span style="color: #007700">],</span><span style="color: #0000BB">$putItAt</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//we&nbsp;have&nbsp;success!<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">savedata</span><span style="color: #007700">();<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000BB">header</span><span style="color: #007700">(</span><span style="color: #DD0000">"location:&nbsp;listfiles.php"</span><span style="color: #007700">);<br />&nbsp;&nbsp;&nbsp;&nbsp;}else{<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//we&nbsp;totally&nbsp;failed...&nbsp;so&nbsp;lets&nbsp;tell&nbsp;them.<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'You&nbsp;totally&nbsp;failed.&nbsp;click&nbsp;&lt;a&nbsp;href="index.php"&gt;here&lt;/a&gt;&nbsp;to&nbsp;go&nbsp;back&nbsp;and&nbsp;try&nbsp;again.'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;}<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></p>
<p>Next, we have our file list page. We will start off with a basic XHTML template and have a CSS file linked in.</p>
<p>
<span class="default">&lt;&nbsp;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;&#8221;-//W3C//DTD&nbsp;HTML&nbsp;4.0&nbsp;Transitional//EN&#8221;&gt;<br />
</span><span class="tags">&lt;</span><span class="tags">html</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;</span><span class="tags">head</span><span class="tags">&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">link</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;main.css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">type</span><span class="operators">=</span><span class="strings">&#8220;text/css&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">media</span><span class="operators">=</span><span class="strings">&#8220;screen&#8221;</span><span class="default">&nbsp;</span><span class="attribute_name">rel</span><span class="operators">=</span><span class="strings">&#8220;stylesheet&#8221;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">title</span><span class="tags">&gt;</span><span class="default">Uploaded&nbsp;Files</span><span class="tags">&lt;/</span><span class="tags">title</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">head</span><span class="tags">&gt;</span></p>
<p><span class="tags">&lt;</span><span class="tags">body</span><span class="tags">&gt;</span></p>
<p><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;index.php&#8221;</span><span class="tags">&gt;</span><span class="default">Go&nbsp;back&nbsp;to&nbsp;the&nbsp;index</span><span class="tags">&lt;/</span><span class="tags">a</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">body</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">html</span><span class="tags">&gt;</span></p>
<p>The <i>main.css</i> has</p>
<p>
<span class="tags">ul&nbsp;li&nbsp;</span><span class="operators">{</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;display</span><span class="operators">:</span><span class="values">&nbsp;block</span><span class="operators">;</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;width</span><span class="operators">:</span><span class="values">&nbsp;160px</span><span class="operators">;</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;min-height</span><span class="operators">:</span><span class="values">&nbsp;160px</span><span class="operators">;</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;border</span><span class="operators">:</span><span class="values">&nbsp;thin&nbsp;dashed&nbsp;black</span><span class="operators">;</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;float</span><span class="operators">:</span><span class="values">&nbsp;left</span><span class="operators">;</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;padding</span><span class="operators">:</span><span class="values">&nbsp;8px</span><span class="operators">;</span><br />
<span class="operators">}</span><br />
<span class="tags">ul&nbsp;</span><span class="operators">{</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;clear</span><span class="operators">:</span><span class="values">&nbsp;both</span><span class="operators">;</span><br />
<span class="operators">}</span><br />
<span class="tags">br&nbsp;</span><span class="operators">{</span><br />
<span class="identifiers">&nbsp;&nbsp;&nbsp;&nbsp;clear</span><span class="operators">:</span><span class="values">&nbsp;left</span><span class="operators">;</span><br />
<span class="operators">}</span></p>
<p>in it, which pretty much makes our list items boxes with a dashed border around them. </p>
<p>So the format I want to use is something like </p>
<p>
<span class="tags">&lt;</span><span class="tags">ul</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;</span><span class="tags">li</span><span class="tags">&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">h1</span><span class="tags">&gt;</span><span class="default">YYYYYYY</span><span class="tags">&lt;/</span><span class="tags">h1</span><span class="tags">&gt;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">h3</span><span class="tags">&gt;</span><span class="default">Uploaded&nbsp;By:&nbsp;XXX.XXX.XXX.XXX</span><span class="tags">&lt;/</span><span class="tags">h3</span><span class="tags">&gt;</span><span class="tags">&lt;</span><span class="tags">br</span><span class="default">&nbsp;</span><span class="tags">/&gt;</span><br />
<span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="tags">&lt;</span><span class="tags">a</span><span class="default">&nbsp;</span><span class="attribute_name">href</span><span class="operators">=</span><span class="strings">&#8220;uploads/ZZZZZZZ.jpg&#8221;</span><span class="tags">&gt;</span><span class="default">YYYYYYY</span><span class="tags">&lt;/</span><span class="tags">a</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">li</span><span class="tags">&gt;</span><br />
<span class="tags">&lt;/</span><span class="tags">ul</span><span class="tags">&gt;</span></p>
<p>So, in php, I would query the database for &#8216;thefiles&#8217; and display the information in the like format.<br />
<code><br />
<span style="color: rgb(0, 0, 187);">&lt;?php<br /></span><span style="color: rgb(255, 128, 0);">//time&nbsp;to&nbsp;get&nbsp;our&nbsp;info<br /></span><span style="color: rgb(0, 0, 187);">$sql&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(221, 0, 0);">"SELECT&nbsp;*&nbsp;FROM&nbsp;`thefiles`"</span><span style="color: rgb(0, 119, 0);">;<br /></span><span style="color: rgb(0, 0, 187);">$result&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(0, 0, 187);">mysql_query</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$sql</span><span style="color: rgb(0, 119, 0);">);<br />while(</span><span style="color: rgb(0, 0, 187);">$file&nbsp;</span><span style="color: rgb(0, 119, 0);">=&nbsp;</span><span style="color: rgb(0, 0, 187);">mysql_fetch_array</span><span style="color: rgb(0, 119, 0);">(</span><span style="color: rgb(0, 0, 187);">$result</span><span style="color: rgb(0, 119, 0);">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'&lt;li&gt;'</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'&lt;h1&gt;'</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">$file</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'Title'</span><span style="color: rgb(0, 119, 0);">].</span><span style="color: rgb(221, 0, 0);">'&lt;/h1&gt;&lt;br&nbsp;/&gt;'</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(255, 128, 0);">//now&nbsp;the&nbsp;file&nbsp;info&nbsp;and&nbsp;link<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: rgb(0, 119, 0);">echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'&lt;h3&gt;Uploaded&nbsp;By:&nbsp;'</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">$file</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'IP'</span><span style="color: rgb(0, 119, 0);">].</span><span style="color: rgb(221, 0, 0);">'&lt;/h3&gt;&lt;br&nbsp;/&gt;'</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'&lt;a&nbsp;href="'</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">$file</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'FileLocation'</span><span style="color: rgb(0, 119, 0);">].</span><span style="color: rgb(221, 0, 0);">'"&gt;'</span><span style="color: rgb(0, 119, 0);">.</span><span style="color: rgb(0, 0, 187);">$file</span><span style="color: rgb(0, 119, 0);">[</span><span style="color: rgb(221, 0, 0);">'Title'</span><span style="color: rgb(0, 119, 0);">].</span><span style="color: rgb(221, 0, 0);">'&lt;/a&gt;'</span><span style="color: rgb(0, 119, 0);">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: rgb(221, 0, 0);">'&lt;/li&gt;'</span><span style="color: rgb(0, 119, 0);">;<br />}<br />
</span><span style="color: rgb(0, 0, 187);">?&gt;<br /></span><br />
</code><br />
So, finally, our <i>listfiles.php</i> looks like (along with the MySQL connection section) this:<br />
<code><span style="color: #000000"><br />
<span style="color: #0000BB">&lt;?php<br />$link&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_connect</span><span style="color: #007700">(</span><span style="color: #DD0000">'localhost'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'phpuser'</span><span style="color: #007700">,&nbsp;</span><span style="color: #DD0000">'phppass'</span><span style="color: #007700">);<br />if&nbsp;(!</span><span style="color: #0000BB">$link</span><span style="color: #007700">)&nbsp;{<br />&nbsp;&nbsp;&nbsp;&nbsp;die(</span><span style="color: #DD0000">'Could&nbsp;not&nbsp;connect:&nbsp;'&nbsp;</span><span style="color: #007700">.&nbsp;</span><span style="color: #0000BB">mysql_error</span><span style="color: #007700">());<br />}<br /></span><span style="color: #FF8000">//WE&nbsp;NEED&nbsp;to&nbsp;select&nbsp;the&nbsp;database!<br /></span><span style="color: #0000BB">mysql_selectdb</span><span style="color: #007700">(</span><span style="color: #DD0000">"tutorials_upload"</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">?&gt;<br /></span>&lt;!DOCTYPE&nbsp;HTML&nbsp;PUBLIC&nbsp;"-//W3C//DTD&nbsp;HTML&nbsp;4.0&nbsp;Transitional//EN"&gt;<br />&lt;html&gt;<br />&lt;head&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&lt;link&nbsp;href="main.css"&nbsp;type="text/css"&nbsp;media="screen"&nbsp;rel="stylesheet"/&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&lt;title&gt;Uploaded&nbsp;Files&lt;/title&gt;<br />&lt;/head&gt;<br />
&lt;body&gt;<br />&lt;ul&gt;<br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">//time&nbsp;to&nbsp;get&nbsp;our&nbsp;info<br /></span><span style="color: #0000BB">$sql&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #DD0000">"SELECT&nbsp;*&nbsp;FROM&nbsp;`thefiles`"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$result&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_query</span><span style="color: #007700">(</span><span style="color: #0000BB">$sql</span><span style="color: #007700">);<br />while(</span><span style="color: #0000BB">$file&nbsp;</span><span style="color: #007700">=&nbsp;</span><span style="color: #0000BB">mysql_fetch_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$result</span><span style="color: #007700">)){<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;li&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;h1&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$file</span><span style="color: #007700">[</span><span style="color: #DD0000">'Title'</span><span style="color: #007700">].</span><span style="color: #DD0000">'&lt;/h1&gt;&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #FF8000">//now&nbsp;the&nbsp;file&nbsp;info&nbsp;and&nbsp;link<br />&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #007700">echo&nbsp;</span><span style="color: #DD0000">'&lt;h3&gt;Uploaded&nbsp;By:&nbsp;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$file</span><span style="color: #007700">[</span><span style="color: #DD0000">'IP'</span><span style="color: #007700">].</span><span style="color: #DD0000">'&lt;/h3&gt;&lt;br&nbsp;/&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;a&nbsp;href="'</span><span style="color: #007700">.</span><span style="color: #0000BB">$file</span><span style="color: #007700">[</span><span style="color: #DD0000">'FileLocation'</span><span style="color: #007700">].</span><span style="color: #DD0000">'"&gt;'</span><span style="color: #007700">.</span><span style="color: #0000BB">$file</span><span style="color: #007700">[</span><span style="color: #DD0000">'Title'</span><span style="color: #007700">].</span><span style="color: #DD0000">'&lt;/a&gt;'</span><span style="color: #007700">;<br />&nbsp;&nbsp;&nbsp;&nbsp;echo&nbsp;</span><span style="color: #DD0000">'&lt;/li&gt;'</span><span style="color: #007700">;<br />}<br />
</span><span style="color: #0000BB">?&gt;<br /></span>&lt;/ul&gt;<br />
<br />&lt;br&nbsp;/&gt;<br />&lt;a&nbsp;href="index.php"&gt;Go&nbsp;back&nbsp;to&nbsp;the&nbsp;index&lt;/a&gt;<br />&lt;/body&gt;<br />&lt;/html&gt;<br /></span></code></p>
<p>All that put together provides something that looks like<br />
<img src="http://kloplop321.com/tut/phpmysql/uploading/images/phpmysql09-2.png" alt="Upload form" /><br />
and ends with<br />
<img src="http://kloplop321.com/tut/phpmysql/uploading/images/phpmysql09-1.png" alt="File list" /></p>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/04/05/php-mysql-tutorial-09-file-upload-system-with-records-in-mysql/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>MySQL and PHPMyAdmin Introduction with PHP 07: A basic Guestbook</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/02/15/mysql-and-phpmyadmin-introduction-with-php-07-a-basic-guestbook/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/02/15/mysql-and-phpmyadmin-introduction-with-php-07-a-basic-guestbook/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 16:05:36 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[Insert]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Select]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[guestbook]]></category>
		<category><![CDATA[guide]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[script]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=183</guid>
		<description><![CDATA[This is pretty much a basic &#8220;How to&#8221; for making a very basic guestbook that uses a database instead of text. I go over everything from making the database to the table, the html form and actual posting. If you watch this video you will pretty much see the basic idea of what a guestbook [...]]]></description>
			<content:encoded><![CDATA[<p>This is pretty much a basic &#8220;How to&#8221; for making a very basic guestbook that uses a database instead of text. I go over everything from making the database to the table, the html form and actual posting.  If you watch this video you will pretty much see the basic idea of what a guestbook is, how they work, and how to make a basic one yourself.</p>
<p>This video has two parts, so to understand fully, please watch both.</p>
<p><object type="application/x-shockwave-flash" style="width: 800px; height: 480px;" data="http://www.youtube.com/v/JBGC1CUB13A&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6"><param name="movie" value="http://www.youtube.com/v/JBGC1CUB13A&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object><br />
Part 2 and the source after the jump<br />
<span id="more-183"></span></p>
<p><object type="application/x-shockwave-flash" style="width: 800px; height: 480px;" data="http://www.youtube.com/v/4wJRZK_6HKo&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6"><param name="movie" value="http://www.youtube.com/v/4wJRZK_6HKo&amp;hl=en_US&amp;fs=1&amp;color1=0x006699&amp;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
<pre><code><span class="webhtml1-specialphpmarker">&lt;?php
</span><span class="webhtml1-specialphpvariableprefix">$link</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_connect</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpstring">'localhost'</span><span class="webhtml1-phpsymbol">, </span><span class="webhtml1-phpstring">'phpuser'</span><span class="webhtml1-phpsymbol">, </span><span class="webhtml1-phpstring">'phppass'</span><span class="webhtml1-phpsymbol">);
</span><span class="webhtml1-phpkeyword">if</span><span class="webhtml1-phpwhitespace"> (!</span><span class="webhtml1-specialphpvariableprefix">$link</span><span class="webhtml1-phpsymbol">) {
    </span><span class="webhtml1-phpkeyword">die</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpstring">'Not connected : '</span><span class="webhtml1-phpwhitespace"> . </span><span class="webhtml1-phpfunction">mysql_error</span><span class="webhtml1-phpsymbol">());
}</span><span class="webhtml1-phpkeyword">else</span><span class="webhtml1-phpsymbol">{
    </span><span class="webhtml1-phpcomment">//echo &quot;I am connected. &quot;;
</span><span class="webhtml1-phpsymbol">}

</span><span class="webhtml1-phpcomment">// make foo the current db
</span><span class="webhtml1-specialphpvariableprefix">$db_selected</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_select_db</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpstring">'guestbook'</span><span class="webhtml1-phpsymbol">, </span><span class="webhtml1-specialphpvariableprefix">$link</span><span class="webhtml1-phpsymbol">);
</span><span class="webhtml1-phpkeyword">if</span><span class="webhtml1-phpwhitespace"> (!</span><span class="webhtml1-specialphpvariableprefix">$db_selected</span><span class="webhtml1-phpsymbol">) {
    </span><span class="webhtml1-phpkeyword">die</span><span class="webhtml1-phpwhitespace"> (</span><span class="webhtml1-phpstring">'Can</span><span class="webhtml1-phpstringspecial">\'</span><span class="webhtml1-phpstring">t use guestbook DB : '</span><span class="webhtml1-phpwhitespace"> . </span><span class="webhtml1-phpfunction">mysql_error</span><span class="webhtml1-phpsymbol">());
}
</span><span class="webhtml1-specialphpvariableprefix">$name</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">trim</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$_REQUEST</span><span class="webhtml1-phpsymbol">[</span><span class="webhtml1-phpstring">'name'</span><span class="webhtml1-phpsymbol">]);
</span><span class="webhtml1-specialphpvariableprefix">$comment</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">trim</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$_REQUEST</span><span class="webhtml1-phpsymbol">[</span><span class="webhtml1-phpstring">'comment'</span><span class="webhtml1-phpsymbol">]);
</span><span class="webhtml1-phpkeyword">if</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpfunction">strlen</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$name</span><span class="webhtml1-phpsymbol">)&gt; </span><span class="webhtml1-phpnumber">0</span><span class="webhtml1-phpsymbol">){
    </span><span class="webhtml1-phpkeyword">if</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpfunction">strlen</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$comment</span><span class="webhtml1-phpsymbol">)&gt; </span><span class="webhtml1-phpnumber">0</span><span class="webhtml1-phpsymbol">){
        </span><span class="webhtml1-specialphpvariableprefix">$name</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_real_escape_string</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$name</span><span class="webhtml1-phpsymbol">);
        </span><span class="webhtml1-specialphpvariableprefix">$comment</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_real_escape_string</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$comment</span><span class="webhtml1-phpsymbol">);

        </span><span class="webhtml1-specialphpvariableprefix">$sql</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpstring">&quot;INSERT INTO `guestbook`.`entries` (
`ID` ,
`name` ,
`date` ,
`comment`
)
VALUES (
NULL , '</span><span class="webhtml1-phpstringspecial">$name</span><span class="webhtml1-phpstring">', UNIX_TIMESTAMP( ) , '</span><span class="webhtml1-phpstringspecial">$comment</span><span class="webhtml1-phpstring">'
);&quot;</span><span class="webhtml1-phpsymbol">;
</span><span class="webhtml1-phpfunction">mysql_query</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$sql</span><span class="webhtml1-phpsymbol">);
    }</span><span class="webhtml1-phpkeyword">else</span><span class="webhtml1-phpsymbol">{
        </span><span class="webhtml1-phpkeyword">echo</span><span class="webhtml1-phpwhitespace"> </span><span class="webhtml1-phpstring">&quot;You did not put in a comment.&quot;</span><span class="webhtml1-phpsymbol">;
    }
}</span><span class="webhtml1-phpkeyword">else</span><span class="webhtml1-phpsymbol">{
    </span><span class="webhtml1-phpkeyword">if</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-phpfunction">strlen</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$comment</span><span class="webhtml1-phpsymbol">)&gt; </span><span class="webhtml1-phpnumber">0</span><span class="webhtml1-phpsymbol">){
        </span><span class="webhtml1-phpkeyword">echo</span><span class="webhtml1-phpwhitespace"> </span><span class="webhtml1-phpstring">&quot;you got a comment, but not a name;&quot;</span><span class="webhtml1-phpsymbol">;
    }
}
</span><span class="webhtml1-specialphpvariableprefix">$sql</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpstring">&quot;SELECT *
FROM `entries` ORDER BY `ID` DESC
LIMIT 3&quot;</span><span class="webhtml1-phpsymbol">;
</span><span class="webhtml1-specialphpvariableprefix">$result</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_query</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$sql</span><span class="webhtml1-phpsymbol">);
</span><span class="webhtml1-phpkeyword">while</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$row</span><span class="webhtml1-phpwhitespace"> = </span><span class="webhtml1-phpfunction">mysql_fetch_array</span><span class="webhtml1-phpsymbol">(</span><span class="webhtml1-specialphpvariableprefix">$result</span><span class="webhtml1-phpsymbol">)){
    </span><span class="webhtml1-phpkeyword">echo</span><span class="webhtml1-phpwhitespace"> </span><span class="webhtml1-specialphpvariableprefix">$row</span><span class="webhtml1-phpsymbol">[</span><span class="webhtml1-phpstring">'name'</span><span class="webhtml1-phpsymbol">].</span><span class="webhtml1-phpstring">&quot; Said: &lt;blockquote&gt;&quot;</span><span class="webhtml1-phpsymbol">.</span><span class="webhtml1-specialphpvariableprefix">$row</span><span class="webhtml1-phpsymbol">[</span><span class="webhtml1-phpstring">'comment'</span><span class="webhtml1-phpsymbol">].</span><span class="webhtml1-phpstring">&quot;&lt;/blockquote&gt;&lt;br /&gt;&quot;</span><span class="webhtml1-phpsymbol">;
}
</span><span class="webhtml1-specialphpmarker">?&gt;
</span><span class="webhtml1-mltag">&lt;</span><span class="webhtml1-mltagname">form</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mlkey">action</span><span class="webhtml1-mlsymbol">=&quot;?&quot; </span><span class="webhtml1-mlkey">method</span><span class="webhtml1-mlsymbol">=&quot;post&quot;</span><span class="webhtml1-mltag">&gt;
</span><span class="webhtml1-mltext">Name:
</span><span class="webhtml1-mltag">&lt;</span><span class="webhtml1-mltagname">input</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mlkey">type</span><span class="webhtml1-mlsymbol">=&quot;text&quot; </span><span class="webhtml1-mlkey">name</span><span class="webhtml1-mlsymbol">=&quot;name&quot; </span><span class="webhtml1-mltag">/&gt;&lt;</span><span class="webhtml1-mltagname">br</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mltag">/&gt;
</span><span class="webhtml1-mltext">Comment: </span><span class="webhtml1-mltag">&lt;</span><span class="webhtml1-mltagname">br</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mltag">/&gt;
&lt;</span><span class="webhtml1-mltagname">textarea</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mlkey">name</span><span class="webhtml1-mlsymbol">=&quot;comment&quot;</span><span class="webhtml1-mltag">&gt;&lt;/</span><span class="webhtml1-mltagname">textarea</span><span class="webhtml1-mltag">&gt;&lt;</span><span class="webhtml1-mltagname">br</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mltag">/&gt;
&lt;</span><span class="webhtml1-mltagname">input</span><span class="webhtml1-mlwhitespace"> </span><span class="webhtml1-mlkey">type</span><span class="webhtml1-mlsymbol">=&quot;submit&quot; </span><span class="webhtml1-mlkey">value</span><span class="webhtml1-mlsymbol">=&quot;Submit&quot; </span><span class="webhtml1-mltag">/&gt;
&lt;/</span><span class="webhtml1-mltagname">form</span><span class="webhtml1-mltag">&gt;</span><span class="webhtml1-mlwhitespace">
</span></code></pre>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/02/15/mysql-and-phpmyadmin-introduction-with-php-07-a-basic-guestbook/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>PHP Tutorial: Databases in general</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/02/14/php-tutorial-databases-in-general/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/02/14/php-tutorial-databases-in-general/#comments</comments>
		<pubDate>Sun, 14 Feb 2010 08:00:16 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[create database]]></category>
		<category><![CDATA[create table]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[sqlite]]></category>
		<category><![CDATA[update]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=174</guid>
		<description><![CDATA[Developers often use the handy features included with databases to create solutions in PHP for what ever needs to be satisfied. Databases have functions like quickly matching data to Identifications, searching large sums of data, holding user information and much more that developers can utilize. There are many ways to use a database, or in [...]]]></description>
			<content:encoded><![CDATA[<p>Developers often use the handy features included with databases to create solutions in PHP for what ever needs to be satisfied. Databases have functions like quickly matching data to Identifications, searching large sums of data, holding user information and much more that developers can utilize. There are many ways to use a database, or in this case, to interface with a database. Most databases use a rough standard of a <a title="SQL full description" href="http://en.wikipedia.org/wiki/SQL" target="_blank">Structured Querying Language</a>, which is like code that the SQL server or application interprets. <span id="more-174"></span>In PHP, developers have the following options to interface with a database:</p>
<ul>
<li><a href="http://www.php.net/manual/en/book.dbase.php">dBase</a></li>
<li><a href="http://www.php.net/manual/en/book.dbplus.php">DB++</a></li>
<li><a href="http://www.php.net/manual/en/book.fbsql.php">FrontBase</a></li>
<li><a href="http://www.php.net/manual/en/book.filepro.php">filePro</a></li>
<li><a href="http://www.php.net/manual/en/book.ibase.php">Firebird/InterBase</a></li>
<li><a href="http://www.php.net/manual/en/book.ifx.php">Informix</a></li>
<li><a href="http://www.php.net/manual/en/book.ibm-db2.php">IBM DB2</a></li>
<li><a href="http://www.php.net/manual/en/book.ingres.php">Ingres</a></li>
<li><a href="http://www.php.net/manual/en/book.maxdb.php">MaxDB</a></li>
<li><a href="http://www.php.net/manual/en/book.mongo.php">Mongo</a></li>
<li><a href="http://www.php.net/manual/en/book.msql.php">mSQL</a></li>
<li><a href="http://www.php.net/manual/en/book.mssql.php">Mssql</a></li>
<li><a href="http://www.php.net/manual/en/book.mysql.php">MySQL</a></li>
<li><a href="http://www.php.net/manual/en/book.mysqli.php">Mysqli</a></li>
<li><a href="http://www.php.net/manual/en/book.mysqlnd.php">Mysqlnd</a></li>
<li><a href="http://www.php.net/manual/en/book.oci8.php">OCI8</a></li>
<li><a href="http://www.php.net/manual/en/book.ovrimos.php">Ovrimos SQL</a></li>
<li><a href="http://www.php.net/manual/en/book.paradox.php">Paradox</a></li>
<li><a href="http://www.php.net/manual/en/book.pgsql.php">PostgreSQL</a></li>
<li><a href="http://www.php.net/manual/en/book.sqlite.php">SQLite</a></li>
<li><a href="http://www.php.net/manual/en/book.sqlite3.php">SQLite3</a></li>
<li><a href="http://www.php.net/manual/en/book.sybase.php">Sybase</a></li>
<li><a href="http://www.php.net/manual/en/book.tokyo-tyrant.php">tokyo_ tyrant</a></li>
</ul>
<p>Some of these methods use the same database type, such as MySQL and Mysqli. However I will only be focusing on the most common methods, which incude MySQL, SQLite, and OBCD.</p>
<p>Most PHP developers use MySQL due to its support, popularity, cross-platform, and universal capabilities. It is not proprietary like Microsoft Access Databases, and it has a really handy tool called PHPMyAdmin.</p>
<p>SQL looks like this</p>
<p style="padding-left: 30px;">INSERT INTO My_table<br />
(field1, field2, field3)<br />
VALUES<br />
(&#8216;test&#8217;, &#8216;N&#8217;, NULL);</p>
<p>In PHP, we can wrap this in double quotes like so</p>
<pre>$sql = "INSERT INTO My_table
 (field1, field2, field3)
 VALUES
 ('test', 'N', NULL);";</pre>
<p>and then execute it with what ever database method we choose.</p>
<blockquote><p>MySQL:<br />
mysql_query($sql);<br />
SQLite:<br />
sqlite_query($db,$sql);<br />
OBCD:<br />
odbc_exec($db, $sql);</p></blockquote>
<p>As I have only had personal experience with two of the above, I will not cover OBCD any more than the above.</p>
<p>Back to MySQL and SQLite:<br />
Both MySQL and SQLite require an initiation at the beginning of each script execution. In MySQL&#8217;s case an example would be:</p>
<blockquote>
<div>
<div><code> &lt;?php<br />
$link = mysql_connect('localhost', 'mysql_user', 'mysql_password');<br />
if (!$link) {<br />
die('Could not connect: ' . mysql_error());<br />
}<br />
echo 'Connected successfully';<br />
mysql_close($link);<br />
?&gt; </code></div>
</div>
</blockquote>
<div>The mysql_connect function is what initiates MySQL for use in future code execution. The $link variable in this example can be used in almost all mysql_* functions in the case of multiple connections (Which I do not recommend). If a developer wants to manually close the connection, they may do so by using mysql_close() which terminates the connection and frees the MySQL server&#8217;s resources.</div>
<div>For SQLite, we are using a local file instead of a server. Essentially, PHP, or rather the SQLite plugin for PHP handles the SQL execution and data manipulation. This is a great solution if a developer wants to make backups easily through more direct measures. Also, if a developer is in a situation like I am in with my school&#8217;s server, then this is a great solution. If you don&#8217;t care to understand my situation, skip to the next paragraph. My situation was where the Web Hoster (will remain un-named, for they do not deserve to be advertised) had it so there was no &#8220;localhost&#8221; mysql connection, but rather a single server dedicated for MySQL execution. Great idea in theory if you want to make use of idle hardware, but in reality it is horrid. My pages were stuck with a 2(rare) to 40 second (most common in the middle) delay because it had to wait to connect to the central server. This obviously would not do, so I tried to find a file-based solution without having to make my own with CSV and other hacked-up jobs. The result: instant execution, no noticeable delay.</div>
<div>SQLite, as aforementioned, uses a file as the database. SQLite has both its pros and cons.</div>
<div>Pros:</div>
<div>
<ul>
<li>Fast</li>
<li>Simple</li>
<li>Not heavy on server load</li>
<li>Easy to copy</li>
</ul>
</div>
<div>Cons:</div>
<div>
<ul>
<li>People from the &#8220;other side&#8221; can download it if you put it in a public folder</li>
<li>It can be erased without a trace</li>
<li>it isn&#8217;t as flexible as MySQL</li>
</ul>
</div>
<div>I prefer to MySQL because of PHPMyAdmin, but I can deal with SQLite thanks to this conversion code I came up with (Not bi-directional, only MySQL to SQLite)</div>
<blockquote>
<div>&lt;?php<br />
$link = mysql_connect(&#8216;localhost&#8217;, &#8216;USER&#8217;, &#8216;PASS&#8217;);<br />
mysql_selectdb(&#8220;DB_NAME&#8221;);<br />
$name = &#8220;TABLE_NAME&#8221;;<br />
$sql = &#8220;SELECT *<br />
FROM `$name` LIMIT 1&#8243;;<br />
$res = mysql_query($sql);<br />
$row = mysql_fetch_array($res);<br />
$cols = mysql_num_fields($res);<br />
$sql = &#8220;SELECT *<br />
FROM `$name`&#8221;;<br />
$res = mysql_query($sql);<br />
$rowsdone = 0;<br />
if ($db = sqlite_open(&#8216;SQLITE_FILE_LOCATION&#8217;, 0666, $sqliteerror)) {<br />
$res = mysql_query($sql);<br />
while($row = mysql_fetch_array($res)){<br />
$sqli = &#8220;INSERT INTO $name VALUES(&#8220;;<br />
for($x = 0; $x &lt; $cols; $x++){<br />
$sqli .= &#8220;&#8216;&#8221;.sqlite_escape_string($row[$x]).&#8221;&#8216;&#8221;;<br />
if($x != $cols -1){<br />
$sqli .= &#8221; , &#8220;;<br />
}<br />
}<br />
$sqli .= &#8220;);&#8221;;<br />
$result = sqlite_query($db,$sqli);<br />
if(sqlite_last_error($db) != 1){<br />
echo sqlite_error_string(sqlite_last_error($db)).&#8221;\n&#8221;;<br />
//echo strip_tags($sqli);<br />
echo &#8220;&lt;br&gt;\n &#8220;;<br />
}<br />
}<br />
} else {<br />
die ($sqliteerror);<br />
}<br />
?&gt;</div>
</blockquote>
<div>The above script is only for transferring rows not for adding the tables to SQLite.</div>
<div>As seen above, in order to &#8220;connect&#8221; or open the SQLite Database, we use the line:</div>
<blockquote>
<div>if ($db = sqlite_open(&#8216;SQLITE_FILE_LOCATION&#8217;, 0666, $sqliteerror)) {</div>
</blockquote>
<div>0666 being the permissions code (no reference to satanic anything).</div>
<div>One note is that in MySQL, a developer would use mysql_real_escape_string to prepare strings for data entry, however in SQLite, a developer would use sqlite_escape_string (not the missing &#8220;real_&#8221; as there is no function named that).</div>
<div>A developer can use MySQL SQL in SQLite with a few adaptations:</div>
<div>A developer may not:</div>
<div>
<ul>
<li>use ` in the SQL</li>
<li>use fieldnames that also are keywords like order, by, count, etc&#8230;</li>
</ul>
<p>(I doubt that my suggestion is full and complete)</p>
</div>
<div>My method is to make everything through PHPMyAdmin, export it without comments, and use the table creation section in SQLite.</div>
<div>SQLite functions and MySQL functions are nearly interchangeable with just a text replacement and SQL checking, so I will from now on only cover MySQL (with possible exceptions).</div>
<div>A developer can make a database in MySQL with &#8220;<code>CREATE  DATABASE  `DB_NAME_HERE` ;" and then in php select that database for future use through</code></div>
<blockquote>
<div>mysql_selectdb(&#8220;<code>DB_NAME_HERE</code>&#8220;);</div>
</blockquote>
<div>Next, if a developer so desire, he may create a table with SQL like the following</div>
<blockquote>
<div><code>CREATE  TABLE  `</code><code>DB_NAME_HERE</code><code>`.`tablename` (</code></p>
<div>`id` INT( 8  )  UNSIGNED NOT  NULL  AUTO_INCREMENT ,<br />
`description` TEXT NOT  NULL ,<br />
PRIMARY  KEY (  `id`  ) ,<br />
INDEX (  `id`  )</div>
</div>
<div>) ENGINE  =  MYISAM ;</div>
</blockquote>
<div>Now that this intangible developer has a table, he can put information in like so:</div>
<blockquote>
<div><code>INSERT  INTO  `</code><code>DB_NAME_HERE</code><code>`.`tablename` (</code></p>
<div>`id` ,<br />
`description`</div>
<p>)<br />
VALUES (</p>
<div>NULL ,  &#8216;Beans do not taste like fruit.&#8217;</div>
</div>
<div>);</div>
</blockquote>
<div>A developer can use NULL as a value when the field has a default value or has an auto_increment property (like above).</div>
<div>Because I have set the id to be a primary key and index, there can be no duplicate keys(or identifications) in this table. Any developer who tries to force it will get an error.</div>
<div>If a developer is having an error in his code, he may use</div>
<blockquote>
<div><code>echo </code><code>mysql_error</code><code>();</code></div>
</blockquote>
<div>to find out what is wrong. In SQLite&#8217;s case he would need to use</div>
<blockquote>
<div>echo sqlite_error_string(sqlite_last_error($db));</div>
</blockquote>
<div>to find out what is wrong. In SQLite it isn&#8217;t as descriptive, so it takes more effort to find out what the issue is.</div>
<div>Next, in order to get information, a developer can do</div>
<blockquote>
<div>$sql = &#8220;SELECT  * FROM `TABLE_NAME`&#8221;;</div>
<div>$result = mysql_query($sql);</div>
</blockquote>
<div>and there are various ways to get the information like</div>
<blockquote>
<div>while($row = mysql_fetch_array($result)){</div>
<div>while($row = mysql_fetch_assoc($result)){</div>
</blockquote>
<div>Either may be used, but I prefer array to assoc.</div>
<div>Next, the developer can get the information row by row by using the variable $row in this case</div>
<blockquote>
<div>while($row = mysql_fetch_array($result)){</div>
<div>print_r($row);</div>
<div>}</div>
</blockquote>
<div>The above code will print out the array that the mysql_fetch_array function returns for every row that is in the $result.</div>
<div>A Developer may also update a row by referring to an identification in the SQL as such</div>
<blockquote>
<div><code>UPDATE  `DB_NAME`.`tablename`  SET  `description`  =   'Beans do not taste  like fruit. Yet they are supposed to be magical...' WHERE  `tablename`.`id`  =1;</code></div>
</blockquote>
<div>MySQL can also be compounded in terms of having multiple inserts (not selects) and updates, but they must be separated by a &#8220;;&#8221; and usually a new line.</div>
<div></div>
<div>If a developer would like to know if his current php interpreter has database connection functionality, use phpinfo(); and go to the page in the browser and search for &#8220;sql&#8221;. In my case, I have &#8220;&#8211;with-mysql&#8221; and &#8220;&#8211;with-sqlite&#8221; in my &#8220;Configure Command&#8221; section near the top.</div>
<div></div>
<div>This is only an introduction to the core and most useful features of Databases using Sequential Querying Languages. Further reading can be done at <a href="http://www.mysql.com/" target="_blank">mysql.com</a> <a href="http://php.net/manual/en/book.mysql.php">php mysql</a> <a href="http://www.sqlite.org/">sqlite.org</a> and <a href="http://php.net/manual/en/book.sqlite.php">php sqlite</a>.</div>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/02/14/php-tutorial-databases-in-general/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>MySQL and PHPMyAdmin Introduction with PHP 06</title>
		<link>http://kloplop321.com/php-tutorials/index.php/2010/02/10/mysql-and-phpmyadmin-introduction-with-php-06/</link>
		<comments>http://kloplop321.com/php-tutorials/index.php/2010/02/10/mysql-and-phpmyadmin-introduction-with-php-06/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 19:51:16 +0000</pubDate>
		<dc:creator>Kloplop321</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PHP Tutorials]]></category>
		<category><![CDATA[PHPMyAdmin]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[import]]></category>

		<guid isPermaLink="false">http://kloplop321.com/php-tutorials/?p=171</guid>
		<description><![CDATA[Want to dump your database? This video goes over the export feature of PHPMyAdmin which allows you to create and save file dumps of your database. You can use these dumps to make a duplicate database or update a pre-existing database. Or simply to backup regularly in case of database failure. I also marginally go [...]]]></description>
			<content:encoded><![CDATA[<p>Want to dump your database? This video goes over the export feature of PHPMyAdmin which allows you to create and save file dumps of your database. You can use these dumps to make a duplicate database or update a pre-existing database. Or simply to backup regularly in case of database failure. I also marginally go over importing and how to import.</p>
<p><object  type="application/x-shockwave-flash" style="width:800px; height:490px;" data="http://www.youtube.com/v/_pc_a4fYaio&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6"><param name="movie" value="http://www.youtube.com/v/_pc_a4fYaio&#038;hl=en_US&#038;fs=1&#038;color1=0x006699&#038;color2=0x54abd6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param></object></p>
]]></content:encoded>
			<wfw:commentRss>http://kloplop321.com/php-tutorials/index.php/2010/02/10/mysql-and-phpmyadmin-introduction-with-php-06/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
