Ankündigung

Einklappen
Keine Ankündigung bisher.

PHP MySQL Prepare Statements Klasse (Methode)

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP MySQL Prepare Statements Klasse (Methode)

    Hallo, ich möchte eine Methode schreiben für eintragen von Datensätzen in Datenbank.

    Meine Methode:

    PHP-Code:

     
    final public function neuerDatensatz($sqlbefehl$platzhalter$array) {
      
    $stmt $this->db_verbindung->prepare($sqlbefehl);
      
    $stmt->bind_param($platzhalter$kette);
     return 
    $stmt->execute();
     }

    // Beispiel
     
    final public function neuerDatensatz("INSERT INTO tabelle (name, adresse) VALUES (?,?)""ss", [$array]) {
      
    $stmt $this->db_verbindung->prepare($sqlbefehl);
      
    $stmt->bind_param($platzhalterimplode(","$array));
     return 
    $stmt->execute();
     } 
    Mein Problem ist wenn ich mehrere Werte mit dieser Methode speichern möchte erscheint die Meldung

    Warning: mysqli_stmt::bind_param(): Number of elements in type definition string doesn't match number of bind variables in


    Was mache ich falsch?

  • #2
    Ganz einfach:
    du machst nur ein bind_param und bräuchtest zwei, da du ja zwei Fragezeichen hast!
    Und überhaupt schaut diese Zeile etwas kaputt aus, ist da beim Copy & Paste etwas schiefgelaufen?
    Da willst du ja keine Funktion definieren sondern ein Statement preparen...
    PHP-Code:
     final public function neuerDatensatz("INSERT INTO tabelle (name, adresse) VALUES (?,?)""ss", [$array]) { 

    Kommentar


    • #3
      Prepared statements folgen einem Schema

      Vorbereiten der Abfrage : prepare
      Anbinden der Variablen für die Abfrage : bind_param
      Abschicken der Abfrage : execute

      Ein mal musst du das prepare anwenden und wiederholt dann bind_param mit execute, siehe http://php.net/manual/de/mysqli.quic...statements.php
      Bind und execute kannst du durch ein foreach durchlaufen.

      Mysqli ist schon eine Klasse, mach dir das Leben nicht unnötig schwer.

      Kommentar

      Lädt...
      X