SELFPHP

SELFPHP-Druckversion
Original Adresse dieser Seite:
http://www.selfphp.de/praxisbuch/praxisbuchseite.php?site=264&group=45
© 2001-2017 E-Mail SELFPHP OHG, info@selfphp.de
© 2005-2017 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de


MySQLi und SQL-Abfragen


Sollten Sie Gefallen an MySQLi gefunden haben, dann werfen Sie doch mal einen Blick auf die folgenden Skripts. Die ersten Schritte bestehen darin:

Anlegen der Datenbank

<?php

// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost', 'root', '');

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl
$sql_befehl = "CREATE DATABASE IF NOT EXISTS testbank";

if ($db->query($sql_befehl)) {
  // Meldung bei erfolgreicher Erstellung der Datenbank
  echo "Datenbank erfolgreich angelegt.";  
} else {
// Meldung bei Fehlschlag
  echo "Datenbank konnte nicht angelegt werden!";
}

// Verbindung zum Datenbankserver beenden
$db->close();

?>

Anlegen der Datenbanktabelle

<?php

// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost', 'root', '', 'testbank');

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl
$sql_befehl = "CREATE TABLE IF NOT EXISTS stadt (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(50) DEFAULT NULL,
bevdichte FLOAT DEFAULT NULL,
PRIMARY KEY (id)
)";

if ($db->query($sql_befehl)) {
  // Meldung bei erfolgreicher Erstellung der Datenbanktabelle
  echo "Datenbanktabelle erfolgreich angelegt.";  
} else {
  // Meldung bei Fehlschlag
  echo "Datenbanktabelle konnte nicht angelegt werden!";
}

// Verbindung zum Datenbankserver beenden
$db->close();

?>

Hinzufügen der Datensätze

<?php

// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost', 'root', '', 'testbank');

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

// SQL-Befehl
$sql_befehl = "
INSERT INTO stadt
(id, name, bevdichte)
VALUES
('', 'New York', 100),
('', 'Berlin', 75)";

if ($db->query($sql_befehl)) {
  // Meldung bei erfolgreicher Erstellung der Datensätze
  echo "Datensätze erfolgreich angelegt.";  
} else {
  // Meldung bei Fehlschlag
  echo "Datensätze konnte nicht angelegt werden!";
}

// Verbindung zum Datenbankserver beenden
$db->close();

?>
{PSP}Ausgabe der Datensätze

<?php
// Verbindungs-Objekt samt Zugangsdaten festlegen
@$db = new mysqli('localhost', 'root', '', 'testbank');

// Verbindung überprüfen
if (mysqli_connect_errno()) {
  printf("Verbindung fehlgeschlagen: %s\n", mysqli_connect_error());
  exit();
}

if ($resultat = $db->query('SELECT * FROM stadt ORDER by id')) {
  // Antwort der Datenbank in ein Objekt übergeben und
  // mithilfe der while-Schleife durchlaufen
  while($daten = $resultat->fetch_object() ){
    echo "ID: ". $daten->id;
    echo "Name der Stadt: " . $daten->name;
  }  
  // Speicher freigeben
  $resultat->close();
} else {
  // Sollten keine Datensätze enthalten sein, diese Meldung ausgeben
  echo "Es konnten keine Daten aus der Datenbank ausgelesen werden";
}

// Verbindung zum Datenbankserver beenden
$db->close();
?>

Wie Sie feststellen können, werden die SQL-Abfragen fehlerfrei abgearbeitet. Es liegt an Ihnen, ob Sie es mit MySQLi und der objektorientierten Programmierung versuchen wollen!