PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
php/mysql einmal oder öfter mit DB verbinden?
Beitrag
<blockquote data-quote="Niels85" data-source="post: 1227433" data-attributes="member: 328109"><p><strong>AW: php/mysql einmal oder öfter mit DB verbinden?</strong></p><p></p><p>Das wird jetzt etwas länger so ne Art vorschlag und diskusionsrunde (tut).</p><p> </p><p>Ich verbinde mit der Datenbank immer seperat.</p><p> </p><p>Zu jeder php seite wo eine Verbindung oder Abfrage entsteht binde ich eine selbst geschriebe Funktion ein mit require.</p><p> </p><p>die Funktion heißt bei mir phpfunction.inc</p><p>sieht so aus</p><p>[php]</p><p><?php</p><p>//Daten um sich mit der Datenbank zuverbinden</p><p>function getdbconndata(&$dbserver,&$dbuser,&$password,&$dbname){</p><p> $dbserver="SERVER"; // meistens localhost</p><p> $dbuser="DEINNAME";</p><p> $password="DEINPASSWORT";</p><p> $dbname="DATENBANKNAME";</p><p> }</p><p>function DBCONNECT($autocommit)</p><p>{</p><p> getdbconndata($dbserver,$dbuser,$password,$dbname);</p><p> $link = mysqli_connect($dbserver,$dbuser,$password, $dbname);</p><p> mysqli_set_charset($link,"utf8");</p><p> mysqli_autocommit($link, $autocommit);</p><p> return $link;</p><p>}</p><p>function DBEXECUTE($link,$sql)</p><p>{</p><p> $retval=false;</p><p> if (mysqli_query($link, $sql)) {</p><p> $retval=true;</p><p> }</p><p> return $retval;</p><p>}</p><p>function DBGET($link,$sql,&$data=0)</p><p>{</p><p>unset($_SESSION['dbdata']);</p><p>if(($data==0))</p><p> $_SESSION['countdbdata']=0;</p><p>if ($result = mysqli_query($link, $sql)) {</p><p>if(($data==0))</p><p> $_SESSION['countdbdata'] = mysqli_num_rows($result);</p><p> /* fetch associative array */</p><p> if($data!=0){</p><p> while ($row = mysqli_fetch_assoc($result)) {</p><p> $data[] = $row;</p><p> }</p><p> }</p><p> else{</p><p> while ($row = mysqli_fetch_assoc($result)) {</p><p> $_SESSION['dbdata'][] = $row;</p><p> }</p><p> }</p><p> /* free result set */</p><p> mysqli_free_result($result);</p><p>}</p><p>}</p><p>function DBAFFECTEDROWS($link)</p><p>{</p><p> $retval=mysqli_affected_rows($link);</p><p> return $retval;</p><p>}</p><p>function DBCOMMIT($link)</p><p>{</p><p> mysqli_commit($link);</p><p>}</p><p>function DBROLLBACK($link)</p><p>{</p><p> mysqli_rollback($link);</p><p>}</p><p>function DBCLOSE($link)</p><p>{</p><p> mysqli_close($link);</p><p>}</p><p>function EXECUTESQL($sql)</p><p>{</p><p> $retval=false;</p><p> getdbconndata($dbserver,$dbuser,$password,$dbname);</p><p> $link = mysqli_connect($dbserver,$dbuser,$password, $dbname);</p><p>mysqli_set_charset($link,"utf8");</p><p>/* check connection */</p><p>if (!$link) {</p><p> printf("Connect failed: %s\n", mysqli_connect_error());</p><p> exit();</p><p>}</p><p>if (mysqli_query($link, $sql)===TRUE) {</p><p> $retval=true;</p><p>}</p><p>/* close connection */</p><p>mysqli_close($link);</p><p>}</p><p>function GETDATA($sql,&$data=0)</p><p>{</p><p> getdbconndata($dbserver,$dbuser,$password,$dbname);</p><p> $link = mysqli_connect($dbserver,$dbuser,$password, $dbname);</p><p>mysqli_set_charset($link,"utf8");</p><p>/* check connection */</p><p>if (!$link) {</p><p> printf("Connect failed: %s\n", mysqli_connect_error());</p><p> exit();</p><p>}</p><p>if(($data==0)){</p><p> unset($_SESSION['dbdata']);</p><p> $_SESSION['countdbdata']=0;</p><p>}</p><p>if ($result = mysqli_query($link, $sql)) {</p><p>if(($data==0))</p><p>$_SESSION['countdbdata'] = mysqli_num_rows($result);</p><p> /* fetch associative array */</p><p> if($data!=0){</p><p> while ($row = mysqli_fetch_assoc($result)) {</p><p> $data[] = $row;</p><p> }</p><p> }</p><p> else{</p><p> while ($row = mysqli_fetch_assoc($result)) {</p><p> $_SESSION['dbdata'][] = $row;</p><p> }</p><p> }</p><p> /* free result set */</p><p> mysqli_free_result($result);</p><p>}</p><p>//else echo "----".mysqli_error($link)."------";</p><p>/* close connection */</p><p>mysqli_close($link);</p><p>}</p><p>?>[/php]</p><p> </p><p>sieht jetzt viel aus aber mit dieser Funktion kann man nun sachen aus der Datenbank lesen und schreiben. zeigen tu ich das in der nächsten daten. </p><p> </p><p>oben hab ich ja schon gesagt das ich eine php datei habe nennen wir sie ausgabe.php mit dieser Datei will ich irgendwas aus der Datenbank auslesen.</p><p> </p><p>Die Datei sieht wie folgt aus.</p><p> </p><p>[php]</p><p><?php</p><p> session_start();</p><p> $_SESSION['serverroot'] = $_SERVER['DOCUMENT_ROOT'];</p><p> //hier bindet ihr die phpfunction.inc ein </p><p> require "".$_SESSION['serverroot']."/psd-tut/phpfunction.inc";</p><p> $dummy="ä";</p><p>//in $sql wird die datenbankabfrage abgelegt die ausgeführt werden soll </p><p>$sql="select * from name";</p><p>//hier in beispiel nenn ich es mal name ist aber egal wie es ihr nennt. in ihr werden die kompletten datengespeichert die die abfrage aus $sql aus der Datenbank holt.</p><p> $name=array();</p><p>//GETDATA ist eine Funktion aus phpfunction.inc die daten aus der datenbank ausliest.</p><p> GETDATA($sql,$name);</p><p> echo "Eintr&auml;ge ".count($name)."<br>";</p><p> for ($i=0;$i<count($name);$i++)</p><p> {</p><p> echo $i.".Name: ".$name[$i]['vorname']." ".$name[$i]['vorname']."<br>";</p><p> }</p><p>//nun könnte ihr mit dem Array alles anstellen mit print_r könnt ihr euch das array ausgeben lassen.</p><p> print_r($name);</p><p>?></p><p>[/php]</p><p> </p><p>So bis dahin kann man nun sachen aus der Datenbank lesen.</p><p>Vorteil ist der ganzen Sache ist, dass ihr eigentlich nun nur drei Zeilen braucht um Sachen auszulesen.</p><p>[php]</p><p> $sql="select * from irgendwas";</p><p> $ausgabe=array();</p><p> GETDATA($sql,$ausgabe);</p><p>[/php]</p></blockquote><p></p>
[QUOTE="Niels85, post: 1227433, member: 328109"] [b]AW: php/mysql einmal oder öfter mit DB verbinden?[/b] Das wird jetzt etwas länger so ne Art vorschlag und diskusionsrunde (tut). Ich verbinde mit der Datenbank immer seperat. Zu jeder php seite wo eine Verbindung oder Abfrage entsteht binde ich eine selbst geschriebe Funktion ein mit require. die Funktion heißt bei mir phpfunction.inc sieht so aus [php] <?php //Daten um sich mit der Datenbank zuverbinden function getdbconndata(&$dbserver,&$dbuser,&$password,&$dbname){ $dbserver="SERVER"; // meistens localhost $dbuser="DEINNAME"; $password="DEINPASSWORT"; $dbname="DATENBANKNAME"; } function DBCONNECT($autocommit) { getdbconndata($dbserver,$dbuser,$password,$dbname); $link = mysqli_connect($dbserver,$dbuser,$password, $dbname); mysqli_set_charset($link,"utf8"); mysqli_autocommit($link, $autocommit); return $link; } function DBEXECUTE($link,$sql) { $retval=false; if (mysqli_query($link, $sql)) { $retval=true; } return $retval; } function DBGET($link,$sql,&$data=0) { unset($_SESSION['dbdata']); if(($data==0)) $_SESSION['countdbdata']=0; if ($result = mysqli_query($link, $sql)) { if(($data==0)) $_SESSION['countdbdata'] = mysqli_num_rows($result); /* fetch associative array */ if($data!=0){ while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } } else{ while ($row = mysqli_fetch_assoc($result)) { $_SESSION['dbdata'][] = $row; } } /* free result set */ mysqli_free_result($result); } } function DBAFFECTEDROWS($link) { $retval=mysqli_affected_rows($link); return $retval; } function DBCOMMIT($link) { mysqli_commit($link); } function DBROLLBACK($link) { mysqli_rollback($link); } function DBCLOSE($link) { mysqli_close($link); } function EXECUTESQL($sql) { $retval=false; getdbconndata($dbserver,$dbuser,$password,$dbname); $link = mysqli_connect($dbserver,$dbuser,$password, $dbname); mysqli_set_charset($link,"utf8"); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } if (mysqli_query($link, $sql)===TRUE) { $retval=true; } /* close connection */ mysqli_close($link); } function GETDATA($sql,&$data=0) { getdbconndata($dbserver,$dbuser,$password,$dbname); $link = mysqli_connect($dbserver,$dbuser,$password, $dbname); mysqli_set_charset($link,"utf8"); /* check connection */ if (!$link) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } if(($data==0)){ unset($_SESSION['dbdata']); $_SESSION['countdbdata']=0; } if ($result = mysqli_query($link, $sql)) { if(($data==0)) $_SESSION['countdbdata'] = mysqli_num_rows($result); /* fetch associative array */ if($data!=0){ while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } } else{ while ($row = mysqli_fetch_assoc($result)) { $_SESSION['dbdata'][] = $row; } } /* free result set */ mysqli_free_result($result); } //else echo "----".mysqli_error($link)."------"; /* close connection */ mysqli_close($link); } ?>[/php] sieht jetzt viel aus aber mit dieser Funktion kann man nun sachen aus der Datenbank lesen und schreiben. zeigen tu ich das in der nächsten daten. oben hab ich ja schon gesagt das ich eine php datei habe nennen wir sie ausgabe.php mit dieser Datei will ich irgendwas aus der Datenbank auslesen. Die Datei sieht wie folgt aus. [php] <?php session_start(); $_SESSION['serverroot'] = $_SERVER['DOCUMENT_ROOT']; //hier bindet ihr die phpfunction.inc ein require "".$_SESSION['serverroot']."/psd-tut/phpfunction.inc"; $dummy="ä"; //in $sql wird die datenbankabfrage abgelegt die ausgeführt werden soll $sql="select * from name"; //hier in beispiel nenn ich es mal name ist aber egal wie es ihr nennt. in ihr werden die kompletten datengespeichert die die abfrage aus $sql aus der Datenbank holt. $name=array(); //GETDATA ist eine Funktion aus phpfunction.inc die daten aus der datenbank ausliest. GETDATA($sql,$name); echo "Einträge ".count($name)."<br>"; for ($i=0;$i<count($name);$i++) { echo $i.".Name: ".$name[$i]['vorname']." ".$name[$i]['vorname']."<br>"; } //nun könnte ihr mit dem Array alles anstellen mit print_r könnt ihr euch das array ausgeben lassen. print_r($name); ?> [/php] So bis dahin kann man nun sachen aus der Datenbank lesen. Vorteil ist der ganzen Sache ist, dass ihr eigentlich nun nur drei Zeilen braucht um Sachen auszulesen. [php] $sql="select * from irgendwas"; $ausgabe=array(); GETDATA($sql,$ausgabe); [/php] [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ★ = 12, ◇ = 4 und die Hälfte von ★ zu ◇ addiert wird, was ist das Ergebnis?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
php/mysql einmal oder öfter mit DB verbinden?
Oben