我最近将服务器上的PHP更新为5.4,我正在通过我的代码更新它以匹配。当我到达升级数据库查询的时候,我开始遇到无法解决的问题。之前的所有工作以及我所有关于SQL的更改都是过程调用函数名称。例如:
$stmt = mysqli_prepare($mysqli, “SQL query”);
现在变成,
$stmt = mysqli_stmt_init($mysqli);
mysqli_stmt_prepare($stmt, $sqlReq);
$sqlReq = "SQL query";
我经历了多种形式的错误检查,现在知道了,
mysqli_stmt_prepare($stmt, $sqlReq);
返回“false”,因此我收到错误:
警告:mysqli_stmt_bind_param():/ file / location /
中的无效对象或资源mysqli_stmt
用于绑定参数。在下面的代码中,我已经删除了错误检查,因为我知道它将失败任何错误检查,但我不明白为什么。所以我要问的是,我为PHP 5.4的新mysqli做错了什么
$mysqli = mysqli_connect('localhost', 'my_user', 'my_password', 'my_db');
$sqlReq = "SELECT * FROM table_name WHERE column_name = ?";
$stmt = mysqli_stmt_init($mysqli);
mysqli_stmt_prepare($stmt, $sqlReq);
mysqli_stmt_bind_param($stmt, "s", $variable0);
mysqli_stmt_execute($stmt);
mysqli_stmt_store_result($stmt);
mysqli_stmt_bind_result($stmt, $variable1, $variable2, $variable3);
mysqli_stmt_close($stmt);
mysqli_close($mysqli);