我很难知道为什么我的Update prepare语句失败但是我没有看到任何SQL错误:
<?php
include(dirname(__FILE__).'\config.php' );
$id = $_POST['id'] ;
$value = $_POST['value'] ;
$column = $_POST['columnName'] ;
$columnPosition = $_POST['columnPosition'] ;
$columnId = $_POST['columnId'] ;
$rowId = $_POST['rowId']
$response['status']='';
$mysqli = new mysqli($sql_details['host'],$sql_details['user'],$sql_details['pass'],$sql_details['db']);
$mysqli->autocommit(FALSE);
$stmt = $mysqli->stmt_init();
if ($stmt = $mysqli->prepare("UPDATE users SET ? = ? where id = ?")) {
$response['status']='OK';
//$stmt->bind_param("ssi", $column, $value, intval(ltrim(substr($id, -4),'0')));
//$stmt->execute();
//$response['status'] = $mysqli->affected_rows;
//if ($mysqli->affected_rows == 1 )
//$response['status'] = 'success';
$stmt->close();
//if (!$mysqli->commit())
//$response['status'] = 'fail';
$mysqli->close();
}
else
$response['status']=$mysqli->error;
}
echo json_encode($response);
?>
即使我已经对大部分行进行了评论,并且期望条件字符串“OK”&#39;在我的UI方面 - 我从来没有看到过。没有报道错误 - 我做错了什么?
==编辑===
似乎UPDATE preparep语句在列名存在的情况下工作正常,而不是像下面这样的绑定值工作:
if ($stmt = $mysqli->prepare("UPDATE users SET first_name = ? where id = ?"))
有没有办法以我要求的方式提供它?