Php PDO只插入一条记录
我已经努力克服这个问题一段时间了,我需要你的帮助 下面的代码只在mysql表中插入一条记录,并且只插入一条。html表单中的数据发布得非常好,但它不会记录多次。我也使用phpmyadmin,我不知道问题出在哪里。如果你能帮助我,我将不胜感激 代码如下:Php PDO只插入一条记录,php,mysql,pdo,Php,Mysql,Pdo,我已经努力克服这个问题一段时间了,我需要你的帮助 下面的代码只在mysql表中插入一条记录,并且只插入一条。html表单中的数据发布得非常好,但它不会记录多次。我也使用phpmyadmin,我不知道问题出在哪里。如果你能帮助我,我将不胜感激 代码如下: try { $DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass); $STH1 = $DBH->query("SELECT isim, ad
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$STH1 = $DBH->query("SELECT isim, adet, kategori
FROM stock
WHERE isim = '$isim' AND kategori = '$kategori'");
$STH1->setFetchMode(PDO::FETCH_ASSOC);
if($STH1->rowCount() == 0) {
echo "There is no such record";
}
else {
$STH2 = $DBH->prepare("INSERT INTO outgoing
(isim, adet, nereye, cikis_tarih, kategori)
values
(:isim, :adet, :nereye, :cikis_tarih, :kategori)");
$STH2->bindParam(':isim', $isim, PDO::PARAM_STR);
$STH2->bindParam(':adet', $adet, PDO::PARAM_STR);
$STH2->bindParam(':nereye', $nereye, PDO::PARAM_STR);
$STH2->bindParam(':cikis_tarih', $cikis_tarih, PDO::PARAM_STR);
$STH2->bindParam(':kategori', $kategori, PDO::PARAM_STR);
$STH2->execute();
}
}
catch(PDOException $e) {
echo $e->getMessage();
}
?>
而不是做:
$STH2->bindParam(':isim', $isim, PDO::PARAM_STR);
$STH2->bindParam(':adet', $adet, PDO::PARAM_STR);
$STH2->bindParam(':nereye', $nereye, PDO::PARAM_STR);
$STH2->bindParam(':cikis_tarih', $cikis_tarih, PDO::PARAM_STR);
$STH2->bindParam(':kategori', $kategori, PDO::PARAM_STR);
$STH2->execute();
通过数组执行它:
$STH2->execute(array(':isim'=>$isim,
':adet'=>$adet,
':nereye'=>$nereye,
':cikis_tarih'=>$cikis_tarih,
':kategori'=>$kategori));
你的变量来自哪里<代码>$isim等。尚未定义任何内容。从.php页面
$isim=$\u POST['isim']代码>这些变量($isim
等)是数组还是“仅仅”变量?因为如果你想插入多个,你应该把bindparam
和execute
放在循环中,循环遍历你想输入的值。你所有的表单元素都命名了吗?例如:
等?如上所述,您需要作为数组执行。即:execute(数组(“:isim'=>$isim'”:adet'=>$adet…
我会试试这个,但我需要时间你所有的列都存在,没有拼写错误或空格吗?另外,还要确保没有一个列设置了自动增量
。我一直都在使用这种方法,如果我知道它不起作用,我就不会发布它。所以,是其他原因造成了这种情况。@billwildOnlyAUTO_INCREMENT
字段是id
。但我想你可能是对的,因为我在其他页面上也使用了这个,而且它正在工作。它应该是关于phpmyadmin的。我尝试删除并重新创建所有数据。非常感谢。