Heim > Backend-Entwicklung > PHP-Tutorial > Warum löst meine MySQLi-Funktion „bind_param()' den Fehler „Aufruf einer Mitgliedsfunktion bei einem Nicht-Objekt' aus?

Warum löst meine MySQLi-Funktion „bind_param()' den Fehler „Aufruf einer Mitgliedsfunktion bei einem Nicht-Objekt' aus?

Susan Sarandon
Freigeben: 2024-12-09 10:06:12
Original
703 Leute haben es durchsucht

Why is My MySQLi `bind_param()` Function Throwing a

Mysqli-Update löst Aufruf einer Mitgliedsfunktion aus. bind_param()-Fehler

Problem:

MySQLi löst einen „Aufruf“ aus an eine Mitgliedsfunktion bind_param() bei einem Nicht-Objekt-Fehler beim Versuch, Spalten in einer Tabelle mit bind_param() zu aktualisieren Methode.

Ursache:

Die Methode bind_param() kann nur für ein gültiges mysqli_stmt-Objekt aufgerufen werden. Der Fehler tritt auf, weil das mysqli_stmt-Objekt nicht ordnungsgemäß erstellt wird.

Lösung:

So beheben Sie diesen Fehler:

  1. Überprüfen Sie die SQL-Abfrage: Stellen Sie sicher, dass die SQL-Abfrage in der Prepare()-Methode syntaktisch ist richtig.
  2. Aufrufe in Try/Catch umschließen: Kapseln Sie den Prepare()-Aufruf in einen Try/Catch-Block, um etwaige Ausnahmen zu behandeln.
  3. Auf Fehler prüfen : Nachdem Sie den Prepare()-Aufruf ausgeführt haben, verwenden Sie $mysqli->error, um nach Fehlern zu suchen Nachrichten.
  4. PDO verwenden: Erwägen Sie die Verwendung von PDO (PHP Data Objects) anstelle von MySQLi. PDO bietet eine objektorientiertere Schnittstelle und vereinfacht Datenbankoperationen.

Beispiel mit PDO:

<?php
try {
  // Create PDO connection
  $pdo = new PDO('mysql:host=localhost;dbname=database', 'username', 'password');

  // Prepare update statement
  $stmt = $pdo->prepare("UPDATE questionnaire SET $key = ? WHERE id = ?");

  // Bind parameters
  $stmt->bindParam(1, $value, PDO::PARAM_STR); // Set the value parameter
  $stmt->bindParam(2, $rowid, PDO::PARAM_INT); // Set the rowID parameter

  // Execute update
  $stmt->execute();
} catch (PDOException $e) {
  trigger_error($e->getMessage(), E_USER_ERROR);
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWarum löst meine MySQLi-Funktion „bind_param()' den Fehler „Aufruf einer Mitgliedsfunktion bei einem Nicht-Objekt' aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage