PHP - MySQL

Aus Flinkwiki
Version vom 15. August 2020, 21:00 Uhr von Flinh1 (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche
Seitenübersicht

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());
}

[1]

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




| | |