php - MySQL 语法错误:您的 SQL 语法有错误
问题描述
我正在将网站从使用 MySQL 5.6 的服务器移动到运行 MySQL 8 的服务器。
当我使用以下 PHP 代码(在运行 MySQL 5.6 的服务器上运行良好)时,我收到以下错误消息:“
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以获取在“othersomething =?”附近使用的正确语法 在第 1 行。
$sql = "
SELECT *
FROM table
WHERE something = ?
AND othersomething = ?
ORDER
BY action DESC
";
$stmt = mysqli_stmt_init($conn);
if (!mysqli_stmt_prepare($stmt, $sql)) {
echo "Error:\n";
print_r($stmt->error_list);
}else {
$something = 1;
$othersomething = 2;
mysqli_stmt_bind_param($stmt, "ss", $something, $othersomething);
mysqli_stmt_execute($stmt);
$result = mysqli_stmt_get_result($stmt);
$final_data = array();
if (mysqli_num_rows($result) > 0) {
while ($row = mysqli_fetch_assoc($result)) {
$final_data[] = $row;
}
}
}
我不确定是什么导致了问题。
一组类似的代码执行得很好。
参数/变量不为空/null。
解决方案
推荐阅读
- javascript - 转译到 ie 11 fetch 不是未定义的
- c++ - C++ 计算器运算符
- python - 如何使用loadTestsFromTestCase通过BaseClass加载SubClass?
- c# - C# 和统一。一边转动相机一边拍照
- php - 通过codeigniter生成管道分隔文件
- php - 从 Laravel 连接到 SQL Server
- reactjs - Ant Design Table Render 不断调用函数
- c# - 在 C# 中获取重复字符串的一部分
- msbuild - 忽略 Azure Pipelines 中 .vdproj 项目上的 NuGet 包还原
- python-3.x - 试图将列表写入csv文件python 3.8