gpt4 book ai didi

php - mysql 在 while 语句中没有更新

转载 作者:行者123 更新时间:2023-11-30 00:22:51 25 4
gpt4 key购买 nike

我正在尝试从表 accesscode 中提取两个字段,并使用我从前面的表中提取的数据更新表借款人。

$q=$db->query("SELECT regnum,  accesscode FROM student,student_accesscode WHERE student.id=student_accesscode.studentid");


while($qd=$q->fetch(PDO::FETCH_ASSOC))
{
$access=$qd['accesscode'];
$regnum=$qd['regnum'];
$q2=$db->exec("UPDATE borrowers SET cardnumber='$access' WHERE cardnumber='$regnum'");
if($q2)
{
echo $access.' '. $regnum.'<br/>';
}
else
{
echo'erro....<br/>';
}
}
?>

最佳答案

$db->query() 之前附加 $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_WARNING); 可能会给你一个异常。 .

$db->setAttribute之前,您将得到:

PDO::prepare(): SQLSTATE[HY000]: General error: 2014 Cannot execute queries while other unbuffered queries are active. Consider using PDOStatement::fetchAll(). Alternatively, if your code is only ever going to run against mysql, you may enable query buffering by setting the PDO::MYSQL_ATTR_USE_BUFFERED_QUERY attribute.

因此,不要使用 fetch(),而是使用 fetchAll()foreach 循环,它会让你不那么疯狂。

引用号。来自php.net

关于php - mysql 在 while 语句中没有更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23093838/

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