我想从我的表单中插入一个值到我的SQL表中。
以下表格:
<form action="index.php?id=" method="GET">
<input id="Trigramme" name="Trigramme" type="text" value="<?php
if (empty($_GET['Trigramme'])):
echo ('');
else:
echo ($_GET['Trigramme']);
endif;
?>">
<input id='idFormation' type="hidden" name="id" value="<?php
if ($formations['ID'] <= $maxIdFormation['Max_ID']):
echo ($formations['ID']+1);
else:
echo ('1');
endif;
?>">
<input type="submit">
</form>
以下是我用于插入的功能:
function ajouterMembre($infosMembre){
$pdo = getDb();
$requeteAjout = $pdo -> prepare ("INSERT INTO `users` ( `Trigramme`, `Formation_id`) VALUES (':Trigramme', ':Formation_id')");
$requeteAjout -> bindValue(':Trigramme', $infosMembre['Trigramme']);
$requeteAjout -> bindValue(':Formation_id', $infosMembre['id']);
$requeteAjout -> execute();
var_dump($requeteAjout);
var_dump( $infosMembre['id']);
var_dump( $infosMembre['Trigramme']);
return $pdo-> lastInsertId();
}
最后,这是我在HTML中使用的函数:
<?php $idNouveauMembre = ajouterMembre($_GET); ?>
我遇到的问题是SQL返回值Trigramme = :Trigramme
和id = 0
。
我猜我的bindValue
无法正常工作。但是当我试着检查时:
var_dump( $infosMembre['id']);
var_dump( $infosMembre['Trigramme']);
它返回我想插入的正确值。
答案 0 :(得分:0)
$requeteAjout = $pdo -> prepare ("INSERT INTO `users` ( `Trigramme`, `Formation_id`) VALUES (':Trigramme', ':Formation_id')");
用这个
代替那行代码$requeteAjout = $pdo -> prepare("INSERT INTO `users` ( `Trigramme`, `Formation_id`) VALUES (:Trigramme, :Formation_id)");
答案 1 :(得分:0)
不要在此处添加引号:Formation_id和另一个。
答案 2 :(得分:0)
删除prepare
语句值中的单引号:
$requeteAjout = $pdo -> prepare ("INSERT INTO `users` ( `Trigramme`, `Formation_id`) VALUES (:Trigramme, :Formation_id)");