Vinzenz Mai: verbindung mit ner datenbank herstellen

Beitrag lesen

Hallo,

  

> <?php  
  
// Überprüfe, ob Dein Hoster Dir die Erweiterung mysqli überhaupt zur  
// Verfügung stellt:  
  
//     phpinfo();  
  
// sollte Dir weiterhelfen  
  
// Die Verbindungsdaten wären in einer Datei, die außerhalb der  
// Document-Root liegt, besser aufgehoben.  

>     $conn = mysqli_connect("localhost", "user", "pw");  
  
// Bitte prüfe den Erfolg der Anweisung.  
// Reagiere auf Fehler angemessen, d.h. lass das Skript nicht sterben.  
  

>     mysqli_select_db($conn, "Datenbankname");  

// Warum nutzt Du nicht den entsprechenden Parameter von mysqli_connect  
// noch schöner mit new mysqli ...  
  

>     $vorname = mysqli_real_escape_string($conn, $_POST["v"]);  
>     $nachname = mysqli_real_escape_string($conn, $_POST["n"]);  
>     $email = mysqli_real_escape_string($conn, $_POST["e"]);  
>     $sql  = "INSERT INTO kontakt ";  
>     $sql .= "( vorname, nachname, email) VALUES (";  
>     $sql .= "'$vorname', '$nachname', '$email')";  
  
// Die unnötige Kopiererei kannst Du Dir sparen, nutze z.B. sprintf(), um  
// das Statement lesbarer zu halten.  
  

>     mysqli_query($conn, $sql);  
>     mysqli_close($conn);  
  
// Ich vermisse die Fehlerbehandlung.  
  

>     header("Location: mysql_uebersicht.php");  
  
// Der Location-Header will unbedingt eine absolute URI haben. Es ist kein  
// großer Aufwand, diesen Fehler auszumerzen.  
  
// Ja, ich weiß: Es funzt doch. (aber nur fast immer)  
// Ja, ich sage: Beseitige solch unnötige Fehler.  

Fatal error: Call to undefined function: mysqli_connect() in /var/www/web208/html/test/mysql_eintragen.php on line 7!
Was mache ich falsch?

Du hast nicht überprüft, ob Dir mysqli überhaupt zur Verfügung steht. Du kannst ganz leicht Deine Fehlerbehandlung verbessern und ein paar weitere Fehler eliminieren.

Freundliche Grüße

Vinzenz