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
| | |