Php UPDATE PREADED语句执行时没有错误,但表未更新
我将数据插入到一个表中,然后更新一些未插入值的字段。代码运行时没有任何错误,但字段不会得到更新 这是我的密码:Php UPDATE PREADED语句执行时没有错误,但表未更新,php,sql,mysqli,Php,Sql,Mysqli,我将数据插入到一个表中,然后更新一些未插入值的字段。代码运行时没有任何错误,但字段不会得到更新 这是我的密码: $mysqli = new mysqli("localhost", "root", "", "mydb"); $stmt = $mysqli->prepare("UPDATE my_table SET field1=?, field2=?,
$mysqli = new mysqli("localhost", "root", "", "mydb");
$stmt = $mysqli->prepare("UPDATE my_table SET field1=?,
field2=?,
field3=?,
field4=?,
field5=?,
field6=?,
field7=?,
field8=?,
field9=?,
field10=?,
field11=?,
field12=?,
field13=?,
updateTime=now()
WHERE id=?");
$stmt->bind_param('isssssssssssss', $info['x'],
$info['x2'],
$info['x3'],
$info['x4'],
$info['x5'],
$info['x6'],
$info['x7'],
$info['x8'],
$info['x9'],
$info['x10'],
$info['x11'],
$info['12'],
$info['x13'],
$_GET['id']);
$stmt->execute();
列和变量的名称已更改,但在原始代码中,它们与现有列匹配
非常感谢。我不太明白您的意思,但您可以试试这段代码
$updateinfo = $mysqli->query("Update setting SET
field1='$field1',
field2='$field2'
");
解决任何mysqli更新问题的完整检查表
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
(在mysqli_connect之前添加一次此行)ini_set('display_errors',1);
error_reporting(E_ALL);
- 要么是要排成一行,以匹配clasue所在的位置
- 或者所有字段都已更新
$info['12'],
在你的下一个最后一个绑定中
除此之外,我们不可能最终找到错误,因为您没有向我们展示您实际尝试执行的代码。您如何知道没有错误?您是否检查了
$stmt->execute()
的返回状态,或者查看了$stmt->error
?Mike,是的,我检查了,没有错误。谢谢。您确定id与数据库中的id匹配吗?您确定bind_param
的第一个参数中的列类型正确吗?通常ID是一个整数。@Barmar我更改了它,现在它绑定了一个整数,但也不起作用。非常感谢。