Maison >développement back-end >tutoriel php >Pourquoi ma fonction MySQLi `bind_param()` renvoie-t-elle une erreur « Appel à une fonction membre sur un non-objet » ?
Problème :
MySQLi lance un "Appel à une fonction membre bind_param() sur une erreur non-objet" lors de la tentative de mise à jour des colonnes d'une table à l'aide de bind_param() méthode.
Cause :
La méthode bind_param() ne peut être appelée que sur un objet mysqli_stmt valide. L'erreur se produit car l'objet mysqli_stmt n'est pas créé correctement.
Solution :
Pour résoudre cette erreur :
Exemple avec 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); }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!