<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Kommentare zu: Lazy Connecting und warum eine Datenbank-Klasse sinnvoll ist</title>
	<atom:link href="http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/feed/" rel="self" type="application/rss+xml" />
	<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/</link>
	<description>Optimierung und Tipps zur Beschleunigung von PHP und MySQL</description>
	<lastBuildDate>Tue, 01 May 2012 16:51:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>Von: Simon XoX</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-43679</link>
		<dc:creator>Simon XoX</dc:creator>
		<pubDate>Fri, 14 Oct 2011 18:36:56 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-43679</guid>
		<description>Hallo ich bin etwas &#252;berfordert und nun wollte ich mal wissen ob meine klasse , eine abwandlung von einer die oben gepostet wurde, den ihren zweck erf&#252;llt. Ich bin desshlab &#252;berfordert da ich mich noch nie mit klassen befasst habe was ich nun tue.

[CODE]
class mysql_verbindung{
 
	private $_connected = false;
	private $_connection;
	private $_data;
	private $_counter = NULL;
 
	public function connect($data = NULL) {
	$this -&gt; _data = $data;
	}

	private function _connect() {
		$con = $this -&gt; _data;
		if ($this-&gt;_connection = mysql_connect($con[0],$con[2],$con[3])) {
			mysql_select_db($con[1]);
			$this-&gt;_connected = true;
		}
	}
	public function query($query) {
		if (!$this-&gt;_connected) {
			$this-&gt;_connect();
		}
$this-&gt;_counter=mysql_query($query,$this-&gt;_connection);
if($this -&gt; _counter == FALSE){die(&#039;ERROR&#039;);}else{
return $this -&gt; _counter;
}

	}
	public function  count() {
	return  mysql_num_rows($this -&gt; _counter);
	}

}
[/CODE]</description>
		<content:encoded><![CDATA[<p>Hallo ich bin etwas &#252;berfordert und nun wollte ich mal wissen ob meine klasse , eine abwandlung von einer die oben gepostet wurde, den ihren zweck erf&#252;llt. Ich bin desshlab &#252;berfordert da ich mich noch nie mit klassen befasst habe was ich nun tue.</p>
<p>[CODE]<br />
class mysql_verbindung{</p>
<p>	private $_connected = false;<br />
	private $_connection;<br />
	private $_data;<br />
	private $_counter = NULL;</p>
<p>	public function connect($data = NULL) {<br />
	$this -&gt; _data = $data;<br />
	}</p>
<p>	private function _connect() {<br />
		$con = $this -&gt; _data;<br />
		if ($this-&gt;_connection = mysql_connect($con[0],$con[2],$con[3])) {<br />
			mysql_select_db($con[1]);<br />
			$this-&gt;_connected = true;<br />
		}<br />
	}<br />
	public function query($query) {<br />
		if (!$this-&gt;_connected) {<br />
			$this-&gt;_connect();<br />
		}<br />
$this-&gt;_counter=mysql_query($query,$this-&gt;_connection);<br />
if($this -&gt; _counter == FALSE){die(&#039;ERROR&#039;);}else{<br />
return $this -&gt; _counter;<br />
}</p>
<p>	}<br />
	public function  count() {<br />
	return  mysql_num_rows($this -&gt; _counter);<br />
	}</p>
<p>}<br />
[/CODE]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Jürgen</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-37016</link>
		<dc:creator>Jürgen</dc:creator>
		<pubDate>Wed, 02 Mar 2011 11:46:49 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-37016</guid>
		<description>@ Jan (3. Februar 2010 @ 09:07) 
Hallo! Ist schon etwas her das Thema, aber noch eine Frage wenn man die Verbindung (direkt vor der ersten Verwendung) direkt mit der Instanzierung macht (constructor) dann sollte es doch auch gehen, oder? 

Also direkt vor der ersten Verwendung:
$db = new database;

und die hat das drinnen
class database {

  fuktion database {
  ... mysql_connect()
  }

}

Oder?? Ich meine die Instanzierung braucht ja genauso wenig irgendwo &quot;oben&quot; sein und dann erst der connect weiter unten im skript passieren??

Danke!</description>
		<content:encoded><![CDATA[<p>@ Jan (3. Februar 2010 @ 09:07)<br />
Hallo! Ist schon etwas her das Thema, aber noch eine Frage wenn man die Verbindung (direkt vor der ersten Verwendung) direkt mit der Instanzierung macht (constructor) dann sollte es doch auch gehen, oder? </p>
<p>Also direkt vor der ersten Verwendung:<br />
$db = new database;</p>
<p>und die hat das drinnen<br />
class database {</p>
<p>  fuktion database {<br />
  &#8230; mysql_connect()<br />
  }</p>
<p>}</p>
<p>Oder?? Ich meine die Instanzierung braucht ja genauso wenig irgendwo &#034;oben&#034; sein und dann erst der connect weiter unten im skript passieren??</p>
<p>Danke!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Y!!</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30632</link>
		<dc:creator>Y!!</dc:creator>
		<pubDate>Tue, 09 Mar 2010 04:00:08 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30632</guid>
		<description>MySQL-Injections k&#246;nnen unter Umst&#228;nden auch mit mysql_real_escape_string() nicht verhindert werden: http://www.scip.ch/?vuldb.2288

Wenn m&#246;glich immer Prepared Statements verwenden.</description>
		<content:encoded><![CDATA[<p>MySQL-Injections k&#246;nnen unter Umst&#228;nden auch mit mysql_real_escape_string() nicht verhindert werden: <a href="http://www.scip.ch/?vuldb.2288" rel="nofollow">http://www.scip.ch/?vuldb.2288</a></p>
<p>Wenn m&#246;glich immer Prepared Statements verwenden.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: nik</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30601</link>
		<dc:creator>nik</dc:creator>
		<pubDate>Fri, 05 Mar 2010 23:46:42 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30601</guid>
		<description>&gt; Man muss bei jeder Abfrage daran denken, mysql_real_escape_string() oder intval() oder andere Filterfunktionen f&#252;r s&#228;mtliche von au&#223;en kommende Eingaben einzusetzen, damit SQL-Injections verhindert werden.

Das muss man so oder so. Ohne prepared statements musst Du sonst alle Eingaben (auch int) in die Query mit &#039;-Hochkommata eingeben, sonst ist real_escape wirkungslos (und damit auch nicht automatisierbar).

&gt; Singleton
Besser noch Registry. Niemand wei&#223;, wann man mal zwei verschiedene Connections in seiner Applikation ben&#246;tigt. 
In Verbindung mit OOP - bspw. einem Model, das sowieso eine DB braucht - kann man dann lazy bspw. on construct das DB Objekt holen.</description>
		<content:encoded><![CDATA[<p>&gt; Man muss bei jeder Abfrage daran denken, mysql_real_escape_string() oder intval() oder andere Filterfunktionen f&#252;r s&#228;mtliche von au&#223;en kommende Eingaben einzusetzen, damit SQL-Injections verhindert werden.</p>
<p>Das muss man so oder so. Ohne prepared statements musst Du sonst alle Eingaben (auch int) in die Query mit &#039;-Hochkommata eingeben, sonst ist real_escape wirkungslos (und damit auch nicht automatisierbar).</p>
<p>&gt; Singleton<br />
Besser noch Registry. Niemand wei&#223;, wann man mal zwei verschiedene Connections in seiner Applikation ben&#246;tigt.<br />
In Verbindung mit OOP &#8211; bspw. einem Model, das sowieso eine DB braucht &#8211; kann man dann lazy bspw. on construct das DB Objekt holen.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Y!!</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30279</link>
		<dc:creator>Y!!</dc:creator>
		<pubDate>Fri, 12 Feb 2010 20:03:41 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30279</guid>
		<description>Yii Framework verwenden und gl&#252;cklich sein - lazy-loading everywhere ;)</description>
		<content:encoded><![CDATA[<p>Yii Framework verwenden und gl&#252;cklich sein &#8211; lazy-loading everywhere <img src='http://phpperformance.de/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: stefan</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30229</link>
		<dc:creator>stefan</dc:creator>
		<pubDate>Tue, 09 Feb 2010 14:22:43 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30229</guid>
		<description>hi, bin schritt f&#252;r schritt den Tips von bmueller gefolgt und muss sagen, es funktioniert super!!</description>
		<content:encoded><![CDATA[<p>hi, bin schritt f&#252;r schritt den Tips von bmueller gefolgt und muss sagen, es funktioniert super!!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: PHPGangsta</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30222</link>
		<dc:creator>PHPGangsta</dc:creator>
		<pubDate>Mon, 08 Feb 2010 22:32:34 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30222</guid>
		<description>....oder gleich ein PHP-Framework nutzen (z.B. Zend Framework), das &quot;lazy&quot; arbeitet. Ein paar Ausnahmen in einigen Komponenten gibt es aber leider.</description>
		<content:encoded><![CDATA[<p>&#8230;.oder gleich ein PHP-Framework nutzen (z.B. Zend Framework), das &#034;lazy&#034; arbeitet. Ein paar Ausnahmen in einigen Komponenten gibt es aber leider.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: bmueller</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30219</link>
		<dc:creator>bmueller</dc:creator>
		<pubDate>Mon, 08 Feb 2010 08:54:26 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30219</guid>
		<description>@Wishu, oh habe ich &#252;bersehen</description>
		<content:encoded><![CDATA[<p>@Wishu, oh habe ich &#252;bersehen</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Nicolas</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30218</link>
		<dc:creator>Nicolas</dc:creator>
		<pubDate>Mon, 08 Feb 2010 08:39:32 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30218</guid>
		<description>ou sorry, da hat mir das system einen streich gespielt und die kalmmer ) noch zum link gez&#228;hlt

du wendes die klasse dann an indem du 
DB::getInstance()-&gt;query(&quot;bla&quot;) ausf&#252;hrst. die connect-daten gibts du entweder als argument von getInstance() oder speicherst sie direkt in der klasse in den defaults oder erweiters den constructor, dass er die daten aus einem file l&#228;dt</description>
		<content:encoded><![CDATA[<p>ou sorry, da hat mir das system einen streich gespielt und die kalmmer ) noch zum link gez&#228;hlt</p>
<p>du wendes die klasse dann an indem du<br />
DB::getInstance()-&gt;query(&#034;bla&#034;) ausf&#252;hrst. die connect-daten gibts du entweder als argument von getInstance() oder speicherst sie direkt in der klasse in den defaults oder erweiters den constructor, dass er die daten aus einem file l&#228;dt</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Wishu</title>
		<link>http://phpperformance.de/lazy-connecting-und-warum-eine-datenbank-klasse-sinnvoll-ist/comment-page-1/#comment-30217</link>
		<dc:creator>Wishu</dc:creator>
		<pubDate>Mon, 08 Feb 2010 08:35:56 +0000</pubDate>
		<guid isPermaLink="false">http://phpperformance.de/?p=987#comment-30217</guid>
		<description>Dann versuch doch mal die Klammer zu entfernen ^^
http://code.google.com/p/quiveo/source/browse/trunk/sys/classes/db.php</description>
		<content:encoded><![CDATA[<p>Dann versuch doch mal die Klammer zu entfernen ^^<br />
<a href="http://code.google.com/p/quiveo/source/browse/trunk/sys/classes/db.php" rel="nofollow">http://code.google.com/p/quiveo/source/browse/trunk/sys/classes/db.php</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>

