Bonjour , je test un script avec une boucle pour enregistrer 2 valeurs avec une requête préparé
j'ai une erreur
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 <?php $bdd = new PDO('mysql:host=localhost; dbname=test','root','test'); $nombre = array('un','deux','trois','quatre','cinq'); $sql = "INSERT INTO registry(name,value) VALUES(name=:name,value=:value)"; $req = $bdd->prepare($sql); $i=1; foreach($nombre as $N) { echo $N."<br/>"; $req->execute(array("name"=>$N,"value=$i")); $i++; }
voici la table registryWarning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in /var/www/moodle24/moodle/sql.php on line 12 Call Stack: 0.0001 330408 1. {main}() /var/www/moodle24/moodle/sql.php:0 0.0004 333744 2. PDOStatement->execute() /var/www/moodle24/moodle/sql.php:12 deux
Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 CREATE TABLE IF NOT EXISTS `registry` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(255) NOT NULL, `value` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
pour insérer ou lire il faut toujours utiliser execute() , ou pour insérer il est nécessaire d'utiliser exec().
quelle est mon erreur , je vous remercie d'avance pour vos réponses![]()
Partager