PHP - MySQL
Inhaltsverzeichnis
Grundmuster Verbindung mit MySQLi
Datei connection.php erzeugen:
<?php $db = new mysqli('hostname','dbbenutzer','passwort','dbname'); if ($db->connect_error){ $error = $db->connect_error; }
Aufrufendes PHP-Skript:
<?php <?php try{ require_once 'connection.php'; } catch(Exception $e){ $error = $e->getMessage(); } ?> <!DOCTYPE html> <html> <head> <meta charset ="UTF-8"> </head> <body> <h1> Verbindung mit MySQLi</h1> <?php if (isset ($error)) { echo "<p> $error</p>"; } else{ echo "<p> Verbindung hergestellt</p>"; } $db->close(); ?> </body> </html> }
... mit SQL-Abfrage:
?> <!DOCTYPE html> <html> <head> <meta charset ="UTF-8"> </head> <body> <h1> MySQLi-Verbindung</h1> <?php if (isset ($error)) { echo "<p> $error</p>"; } else{ echo "<p> Es funktioniert!</p>"; } $sql = "SELECT user_login FROM wp_users"; $resultat = mysqli_query($db,$sql); $num = mysqli_num_rows($resultat); if($num > 0){ echo "Resultat: " . $num . " Datensätze.<br>"; } else{ echo "nix"; } ?> </body> </html>
Verbindung mit PDO
Grundmuster
try { $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'passwort'); } catch (Exception $e) { die('Erreur : ' . $e->getMessage()); }
Wenn kein Passwort hinterlegt ist, lässt man den Raum zwischen den einfachen Anführungszeichen leer: ''.
Grundmuster mit SQL-Abfrage und Ausgabe über while-Schleife
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', ''); } catch(Exception $e) { die('Erreur : '.$e->getMessage()); } $reponse = $bdd->query('SELECT nom, possesseur FROM jeux_video WHERE possesseur=\'Patrick\''); while ($donnees = $reponse->fetch()) { echo $donnees['nom'] . ' appartient à ' . $donnees['possesseur'] . '<br />'; } $reponse->closeCursor(); ?>
[2]t
Troubleshooting
xdebug
https://xdebug.org/download.php
Zur Auswahl des richtigen Releases dem Link custom installation instructions folgen. Hier den gesamten Inhalt der Seite von phpinfo in das Fenster kopieren (Strg-a > Strg-c > Strg-v
). Instructions genau befolgen.
In Firefox oder Chrom das Add-on Xdebug helper installieren und über das Käfer-Symbol Debugging aktivieren.
PDO-Fehler ausgeben lassen
<?php $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', , array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION)); ?>
pdo_mysql deaktiviert
Unter Ubuntu muss evtl. sudo apt-get install php-gd php-mysql
nachinstalliert werden.
Bei xampp unter Linux muss in /etc/php.ini die Zeile pdo_mysql.default_socket = ergänzt werden mit /opt/lampp/var/mysql/mysql.sock.
Bei xampp für Windows, WAMP und MAMP muss ebenfalls die php.ini bearbeitet werden, Anleitungen gibt es im Netz[3].
Links und Quellen
| | |