gpt4 book ai didi

php - 我的 INSERT 准备好的语句正在使用 PHP PDO 制作多条记录

转载 作者:行者123 更新时间:2023-11-29 09:26:43 24 4
gpt4 key购买 nike

我正在尝试用文本文件中的数据填充 mysql 表。这是代码:

try
{
$conn = new PDO("mysql:server=localhost;dbname=pure","root");
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$que=$conn->prepare("INSERT INTO posts (title,actress,body,image,date,slug) VALUES (?,?,?,?,?,?)");
}
catch(PDOException $e)
{
echo "Error!";
}
$titles=fopen("titles.txt","r");
$names=fopen("names.txt","r");
$dates=fopen("dates.txt","r");

for($i=0;$i<382;$i++)
{
$title=fgets($titles);
$name=fgets($names);
$body="<h3 style='text-align:center'>$title</h3>something $name something.<br>Video link<br>Info:";
$src="images/".str_replace(' ','_',$title).".jpg";
$date=fgets($dates);
$slug=str_replace(' ','-',$title);
$que->execute([$title,$name,$body,$src,$date,$slug]);
echo "$i done!<br>";

}
fclose($titles);
fclose($names);
fclose($dates);
echo "DONE!";
?>

首先,我只测试了 10 - 20 条记录,效果很好。但是当我为所有 382 条记录执行脚本时,最终我得到 764 条记录... $i 只回显了 382 次(正如它应该的那样),所以我不知道为什么 $que->execute() 发生764 次。另外,奇怪的是我得到了 2 倍的记录,但并非文本文件中的所有记录都进入数据库。有的插了2、3次,有的就不见了。有人知道发生了什么事吗?

最佳答案

我建议您首先bindParam(),然后execute()该语句。它可能会修复错误,但我不确定。

编辑:如果您使用 PDO,那么您将使用 bindParam()像这样:
$que->bindParam(...);

关于php - 我的 INSERT 准备好的语句正在使用 PHP PDO 制作多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59483423/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com