Erreur: nombre de variables liées ne correspond pas à un nombre de jetons
Je veux faire un insert seulement si il n'y a pas de correspondance dans la base de données (mySQL), mais il me fait pas la déclaration. Voici l'extrait de
if ($sql->rowCount() > 0) {
echo 'Non inserisci';
} else {
echo 'Inserisci';
$db->beginTransaction();
echo 'Ciao3';
$sql = $db->prepare("INSERT INTO contatti (nome,cognome) VALUES (?,?)") or die('Ciao2');
echo 'Ciao4';
$sql->execute(array($_POST['nome'],$_POST['cognome']));
echo 'Ciao5';
$db->rollBack();
}
Où La sélection est
$db->beginTransaction();
$sql = $db->prepare("SELECT * FROM contatti WHERE nome = ? AND cognome = ? WHERE nome = ? AND cognome = ?") or die ('Ciao1');
$sql->execute(array($_POST['nome'],$_POST['cognome']));
$db->rollBack();
Pouvez-vous m'expliquer où est la faute?
- essayez de compter le nombre de jetons
Vous devez vous connecter pour publier un commentaire.
La faute est dans l'arithmétique
Nous allons compter les jetons:
maintenant, nous allons compter le nombre de variables liées:
4 est apparemment pas égal à deux. c'est le problème
WHERE
clause.Il semble que vous avez fait un peu trop de copier/coller ici:
devraient probablement être
Vous avez eu la
WHERE
clause doublé.