此调用失败并显示错误:
mysqli_report(MYSQLI_REPORT_ALL);
$stmt = $mysqli->prepare("INSERT INTO check VALUES (?,?,?,?,?,?)");
我得到的错误:
未捕获的异常'mysqli_sql_exception',消息'你有一个 SQL语法错误;查看与您的手册相对应的手册 MySQL服务器版本,用于在'check VALUES'附近使用正确的语法 (?,?,?,?,?,?)'在第1行
checkSomething
则可以正常工作...... 任何想法?
答案 0 :(得分:2)
check
是保留关键字。要将其用作表名,您必须使用这样的反引号来转义它:`check`
:
$stmt = $mysqli->prepare("INSERT INTO `check` VALUES (?,?,?,?,?,?)");
答案 1 :(得分:2)
在MySQL中检查是reserved word。你需要用这样的反引号包围它:
$mysqli->prepare("INSERT INTO `check` VALUES (?,?,?,?,?,?)");
或者更好的是,将它重命名为您不需要经常使用的特殊情况。
$mysqli->prepare("INSERT INTO checks VALUES (?,?,?,?,?,?)");