我在处理页面上有两个插入。第一个工作毫无障碍。第二个甚至不会激活。我甚至试过放一个PDO查询来查看它是否可行但仍然没有。
$cpinsert = $db->prepare('insert into Chatposts values (0, :chatid, :name, :url, :text, now(), :ipaddress, 0)');
$cpinsert -> bindParam(':chatid', $chatroomid, PDO::PARAM_INT);
$cpinsert -> bindParam(':name', $name, PDO::PARAM_STR);
$cpinsert -> bindParam(':url', $url, PDO::PARAM_STR);
$cpinsert -> bindParam(':text', $text, PDO::PARAM_STR);
$cpinsert -> bindParam(':ipaddress', $ipaddress, PDO::PARAM_STR);
$cpinsert -> execute();
// Needs an error checker
$cpid = $cpinsert ->lastInsertID();
$cpinsert->closeCursor();
^虽然我不知道lastinsertid因为我无法测试它,但工作正常。
\ V /无论我尝试什么,都不会执行任何内容。有什么东西阻止执行任何东西,或者我没有正确关闭上面的连接。
// Targets Insert
//if (isset($target)):
$query = "insert into Targets values (9,'rommel')";
$db->query($query);
$targetinsert = $db->prepare('insert into Targets values (:cpid,:tname)');
foreach ($target as $tname):
$targetinsert -> bindParam(':cpid', $cpid, PDO::PARAM_INT);
$targetinsert -> bindParam(':tname', $tname, PDO::PARAM_STR);
endforeach;
$targetinsert -> execute();
//endif;
我已经尝试过所有我知道但没有运气的事情。因为我是PDO的新手,所以我很可能犯了一个小错误。当我添加它时,Closecursor似乎没有做任何事情。
答案 0 :(得分:0)
您说您需要执行许多插入,但由于某种原因,您只执行一次的查询。
此外,请从您的代码中删除这些try..catch内容 - 它们 之所以您不知道出现了什么问题
答案 1 :(得分:-2)
我不得不重新创建我的页面的半功能模型,但我发现了问题,它是lastinsertid()。我在PDO类上应用了一个PDOstatement类。
在:
$cpid = $cpinsert->lastInsertID();
后:
$cpid = $db->lastInsertID();
我只需要调用数据库而不是使用该行代码进行准备。