Appel à un membre de la fonction execute() boolean dans
Mon code html :
<form action="rent.php" method="post"><pre>
Email : <input type="text" name="email">
Message : <input type="text" name="msg_text">
<input type="submit" value="Rent it">
</pre></form>
Mon rent.php fichier :
<?php
require_once 'login.php';
$conn = new mysqli($hn, $un, $pw, $db);
if ($conn->connect_error) {
die($conn->connect_error);
}
$query = "SET NAMES utf8";
$result = $conn->query($query);
if (!$result) {
die($conn->error);
}
$req = $conn->prepare('INSET INTO renter (email, msg_text) VALUES(?, ?)');
$req->execute(array($_POST['email'], $_POST['msg_text']));
header('Location: menu.php');
Mon erreur lorsque j'essaie d'envoyer, est la suivante : Fatal error: Appel à un membre de la fonction execute() boolean dans C:...\rent.php sur la ligne 18
e-mail, msg_text sont de type varchar
Juste un vrai mal de fautes de frappe.
OriginalL'auteur idkn | 2016-02-01
Vous devez vous connecter pour publier un commentaire.
mysqli->prepare
pouvez également retournerFALSE
(vérifier http://php.net/manual/en/mysqli.prepare.php) si une erreur s'est produite. Votre problème est que vous avezINSET
au lieu deINSERT
.OriginalL'auteur tomas.lang
Cela peut aider quelqu'un:
J'ai été confronté à la même question.
Dans mon cas, j'ai manqué à proximité de la première instruction préparée avant l'exécution de la deuxième déclaration préparée.
Quand j'ai ajouté
$select_stmt_type->close();
avant l'exécution de la deuxième instruction prepare, il fixe le problème.OriginalL'auteur Dhaval Bhimani
Juste à ajouter. Semblable erreur vient quand le mysql, le nom de colonne est incorrect en php. J'ai trouvé d'erreur ci-dessous pour mon état quand je l'ai imprimé $conn->erreur.
parfois, nous sommes tellement dans les grandes choses que nous oublions une minuscule erreur 🙂
vous avez raison..!
OriginalL'auteur Vaibs
Votre SQL de la requête préparée doit être corrigée comme shudent dit, mais je pense que vous avez également à définir les valeurs par
->bind_param()
avant d'appeler->execute()
(qui ne prend aucun paramètre).Voir documentation et exemple sur le PHP site officiel : http://php.net/manual/fr/mysqli.prepare.php
OriginalL'auteur Patrick Janser