Call to a member function bind_param() on bool

Petit nouveau ! | 2 Messages

27 janv. 2021, 12:03

Bonjour,

J'ai cette erreur probablement de booléen que je ne comprend pas malgré ma visite sur phpmanuel: Fatal error: Uncaught Error: Call to a member function bind_param() on bool in D:\xampp-php-7.3\htdocs\www\WC-V4\insertDevis.php:24 Stack trace: #0 {main} thrown in D:\xampp-php-7.3\htdocs\www\WC-V4\insertDevis.php on line 24
    $nom = $_POST['nom'];
    $email = $_POST['email'];
    $telephone = $_POST['telephone'];
    $adresse = $_POST['adresse'];
    $ville = $_POST['ville'];
    $cp = $_POST['cp'];
    $ddeConcerne = $_POST['radio'];
    $fonctionnalites = implode('|', $_POST['checkbox']);
    $message = $_POST['message'];

$stmt = $mysqli->prepare('INSERT INTO devis_clients VALUES  (?,?,?,?,?,?,?,?,?)');
$stmt->bind_param('s', $nom, $email, $telephone, $adresse, $ville, $cp, $ddeConcerne, $fonctionnalites, $message);

$stmt->execute();
$stmt->close();
Je vous remercie de votre aide

Mammouth du PHP | 2703 Messages

27 janv. 2021, 12:06

https://www.php.net/manual/fr/mysqli.prepare.php
"mysqli_prepare() retourne un objet de traitement ou false si une erreur survient. "
$stmt valant false, une erreur est survenue.

Petit nouveau ! | 2 Messages

27 janv. 2021, 13:56

Pourtant le nombre de champs dans la requête correspond bien au nombre de champs dans ma table mise à part le champ id bien sûr.

Mammouth du PHP | 2703 Messages

27 janv. 2021, 17:19

si les champs ne sont pas présents, mysql s'attend à ce qu'il y ai tous les champs dans la partie values, y compris l'id.