Php mysqli_准备状态行未更新
下面的函数正在执行Php mysqli_准备状态行未更新,php,mysqli,prepared-statement,Php,Mysqli,Prepared Statement,下面的函数正在执行$stmt并打印成功,但它显示零行已更新。如果我手动运行sql,它将更新数据库。但它不是从下面的php代码中更新的。我错过什么了吗 function updateLastActive($link, $id) { $stmt = mysqli_prepare($link,"update `account` set `lastActive` =now() where id = ?"); mysqli_stmt_bind_param($stmt, 'i', $
$stmt
并打印成功,但它显示零行已更新。如果我手动运行sql,它将更新数据库。但它不是从下面的php代码中更新的。我错过什么了吗
function updateLastActive($link, $id) {
$stmt = mysqli_prepare($link,"update `account` set `lastActive` =now() where id = ?");
mysqli_stmt_bind_param($stmt, 'i', $id);
if(mysqli_stmt_execute($stmt)){
$num_of_rows = $stmt->num_rows;
echo 'success';
echo $num_of_rows;
return 1;
}else{
return 0;
}}
返回受上一次插入、更新、,
替换或删除查询
使用mysqli\u受影响的行()代替$stmt->num\u行
if (mysqli_stmt_execute($stmt)) {
$num_of_rows = mysqli_affected_rows($link));
echo 'success';
echo $num_of_rows;
return 1;
} else {
return 0;
}
错误消息是什么?代码中的
$id
有效吗?请尝试$stmt->infected_行或mysqli_infected_行($stmt)$stmt->infected_行。这是打印显示1行受影响。但是时间戳不正确。当我在phpMyAdmin中刷新时,它似乎根本没有更新