Php MySQL无法更新数据库中的行
我正在尝试更新选定的数据行,但无法更新它。运行代码后,我将获得以下输出Php MySQL无法更新数据库中的行,php,mysql,Php,Mysql,我正在尝试更新选定的数据行,但无法更新它。运行代码后,我将获得以下输出{“RowCount”:0,“results”:[]}。我应该得到1,但我没有得到它。我能知道如何解决这个问题吗 这是我的PHP代码: case 'updateStudent': $studentUpdateSQL = "UPDATE srs_student SET surname=:surname, forename=:forename, email=:email WHERE stud
{“RowCount”:0,“results”:[]}
。我应该得到1,但我没有得到它。我能知道如何解决这个问题吗
这是我的PHP代码:
case 'updateStudent':
$studentUpdateSQL = "UPDATE srs_student SET surname=:surname, forename=:forename,
email=:email WHERE studentid=:id";
$rs = new JSONRecordSet();
$retval = $rs->getRecordSet($studentUpdateSQL, 'ResultSet',
array(':surname'=>$surname,
':forename'=>$forename,
':email'=>$email,
':id'=>$id
));
echo $retval;
break;
这是JSONRecordSet类:
function getRecordSet($sql, $elementName = "ResultSet", $params = null) {
$stmt = parent::getRecordSet($sql, $params);
$recordSet = $stmt->fetchAll(PDO::FETCH_ASSOC);
$nRecords = count($recordSet);
if ($nRecords == 0) {
$status = 'error';
$message = json_encode(array("text" => "No records found"));
$result = '[]';
}
else {
$status = 'ok';
$message = json_encode(array("text" => ""));
$result = json_encode($recordSet);
}
return "{\"RowCount\": $nRecords ,\"results\": $result}";
}
}
如果您展示了
JSONRecordSet
类,这会很有帮助。实际上其他案例都在运行,所以我认为JSONRecordSet运行良好,但无论如何,我会发布JSONRecordSet类code@Daan我已经用代码更新了我的问题,您正在getRecordSet中执行fetchAll。不能将fetchAll与UPDATE
语句一起使用。它返回false
我看不到任何地方准备或执行或查询。
$rs = new JSONRecordSet();
$db_conn = pdoDB::getConnection();
$stmt=$db_conn->prepare($studentUpdateSQL);
$retval=$stmt->execute(array(':surname'=>$surname,
':forename'=>$forename,
':email'=>$email,
':id'=>$id));
echo $retval;