<?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>Rutger&#039;s Weblog &#187; PHP</title>
	<atom:link href="http://www.rutgerwessels.nl/category/php/feed" rel="self" type="application/rss+xml" />
	<link>http://www.rutgerwessels.nl</link>
	<description></description>
	<lastBuildDate>Fri, 19 Aug 2011 18:39:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Schaalbaarheid PHP/Mysql</title>
		<link>http://www.rutgerwessels.nl/2006/04/11/schaalbaarheid-phpmysql</link>
		<comments>http://www.rutgerwessels.nl/2006/04/11/schaalbaarheid-phpmysql#comments</comments>
		<pubDate>Tue, 11 Apr 2006 11:38:35 +0000</pubDate>
		<dc:creator>rutger</dc:creator>
				<category><![CDATA[Mysql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.rutgerwessels.nl/log/2006/04/11/schaalbaarheid-phpmysql/</guid>
		<description><![CDATA[Interessant verhaal over de schaalbaarheid van PHP/Mysql/Java. Als voorbeeld wordt Digg aangehaald. Belangrijkste conclusies: PHP schaalt prima naar miljoenen hits per dag, het is de backend die problemen veroorzaakt. Wel moet PHP wat getweakt worden. Een hele geruststelling.]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.oreillynet.com/onlamp/blog/2006/04/digg_phps_scalability_and_perf.html">Interessant verhaal</a> over de schaalbaarheid van PHP/Mysql/Java. Als voorbeeld wordt Digg aangehaald. Belangrijkste conclusies: PHP schaalt prima naar miljoenen hits per dag, het is de backend die problemen veroorzaakt. Wel moet PHP wat getweakt worden. Een hele geruststelling.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.rutgerwessels.nl/2006/04/11/schaalbaarheid-phpmysql/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mysql_insert_id() en InnoDB</title>
		<link>http://www.rutgerwessels.nl/2006/03/22/mysql_insert_id-en-innodb</link>
		<comments>http://www.rutgerwessels.nl/2006/03/22/mysql_insert_id-en-innodb#comments</comments>
		<pubDate>Wed, 22 Mar 2006 10:58:45 +0000</pubDate>
		<dc:creator>rutger</dc:creator>
				<category><![CDATA[Mysql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.rutgerwessels.nl/log/?p=17</guid>
		<description><![CDATA[Bij gebruik van transacties geeft de php-functie mysql_insert_id() verschillende waarden, afhankelijk van wanneer je het aanroept. Wanneer je mysql_insert_id() aanroept voor de commit, dan is de waarde correct. Echter na de commit is de waarde 0. Mysql &#8220;SELECT LAST_INSERT_ID&#8221; geeft wel de correcte waarde, maar dan weer niet na een ROLLBACK. in PHP:]]></description>
			<content:encoded><![CDATA[<p>Bij gebruik van transacties geeft de php-functie mysql_insert_id() verschillende waarden, afhankelijk van wanneer je het aanroept. Wanneer je mysql_insert_id() aanroept <em>voor</em> de commit, dan is de waarde correct. Echter <em>na</em> de commit is de waarde 0. Mysql &#8220;SELECT LAST_INSERT_ID&#8221; geeft wel de correcte waarde, maar dan weer niet na een ROLLBACK.</p>
<p>in PHP:<br />
<span id="more-17"></span></p>
<p><code><?php</p>
<p>mysql_connect("localhost", "root", "");</p>
<p>mysql_query("CREATE DATABASE insertidtest");<br />
mysql_query("USE insertidtest");<br />
mysql_query("CREATE TABLE lastinsert (id INT PRIMARY KEY AUTO_INCREMENT) TYPE=InnoDB");</p>
<p>echo "insert a value without transaction:\n";<br />
mysql_query("INSERT INTO lastinsert VALUES ('')");<br />
echo "\t mysql_insert_id():".mysql_insert_id()."\n";</p>
<p>echo "insert a value with transaction:\n";<br />
mysql_query("START TRANSACTION");<br />
mysql_query("INSERT INTO lastinsert VALUES ('')");<br />
echo "\t before commit:mysql_insert_id():".mysql_insert_id()."\n";<br />
mysql_query("COMMIT");<br />
echo "\t after commit:mysql_insert_id():".mysql_insert_id()."\n";<br />
$res = mysql_query("SELECT LAST_INSERT_ID()");<br />
$row = mysql_fetch_row($res);<br />
echo "\t SQL LAST_INSERT_ID():".$row[0]."\n";</p>
<p>echo "insert a value with transaction:\n";<br />
mysql_query("START TRANSACTION");<br />
mysql_query("INSERT INTO lastinsert VALUES ('')");<br />
echo "\t before rollback:mysql_insert_id():".mysql_insert_id()."\n";<br />
mysql_query("ROLLBACK");<br />
echo "\t after rollback:mysql_insert_id():".mysql_insert_id()."\n";<br />
$res = mysql_query("SELECT LAST_INSERT_ID()");<br />
$row = mysql_fetch_row($res);<br />
echo "\t SQL LAST_INSERT_ID():".$row[0]."\n";</p>
<p>echo "Content of table:\n";<br />
$res = mysql_query("SELECT * FROM lastinsert");<br />
while ($row = mysql_fetch_row($res)) {<br />
    echo "\t$row[0]\n";<br />
}</p>
<p>mysql_query("DROP DATABASE insertidtest");<br />
mysql_close();</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rutgerwessels.nl/2006/03/22/mysql_insert_id-en-innodb/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transacties in mysql 4.0 en php</title>
		<link>http://www.rutgerwessels.nl/2006/03/20/transacties</link>
		<comments>http://www.rutgerwessels.nl/2006/03/20/transacties#comments</comments>
		<pubDate>Mon, 20 Mar 2006 13:44:59 +0000</pubDate>
		<dc:creator>rutger</dc:creator>
				<category><![CDATA[Mysql]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.rutgerwessels.nl/log/?p=16</guid>
		<description><![CDATA[Transactiesupport zit in Mysql sinds versie 4.0 (werkt alleen bij tabellen van het type &#8216;InnoDB&#8217;). Bij een applicatie die hiÃƒÂ«rarchische data verwerkt eigenlijk noodzakelijk. EÃƒÂ©n update statement fout en de hele structuur is weg. De php functie accepteert een reeks sql statements en voert ze 1 voor 1 uit. Als er iets mis gaat wordt [...]]]></description>
			<content:encoded><![CDATA[<p>Transactiesupport zit in Mysql sinds versie 4.0 (werkt alleen bij tabellen van het type &#8216;InnoDB&#8217;). Bij een applicatie die <a href="http://dev.mysql.com/tech-resources/articles/hierarchical-data.html">hiÃƒÂ«rarchische data</a> verwerkt eigenlijk noodzakelijk. EÃƒÂ©n update statement fout en de hele structuur is weg. </p>
<p>De php functie accepteert een reeks sql statements en voert ze 1 voor 1 uit. Als er iets mis gaat wordt een rollback uitgevoerd.</p>
<p><code><br />
function query($qrs)<br />
{<br />
    if (!is_array($qrs) or sizeof($qrs) == 0)<br />
    {<br />
        return false;<br />
    }<br />
    array_unshift($qrs, "START TRANSACTION");<br />
    $ok = false;<br />
    $i = 0;<br />
    do {<br />
        $ok = mysql_query($qrs[$i]);<br />
        ++$i;<br />
    } while ($ok === true &#038;&#038; $i < sizeof($qrs));</p>
<p>    if ($ok === true) {<br />
        mysql_query("COMMIT");<br />
        return true;<br />
    }<br />
    else<br />
    {<br />
        mysql_query("ROLLBACK");<br />
        return false;<br />
    }<br />
}</p>
<p></code></p>
]]></content:encoded>
			<wfw:commentRss>http://www.rutgerwessels.nl/2006/03/20/transacties/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

