PHP$mysqli->当表名为“check”时,出现语法奇怪的prepare错误

PHP$mysqli->当表名为“check”时,出现语法奇怪的prepare错误,php,sql,mysqli,prepared-statement,Php,Sql,Mysqli,Prepared Statement,此调用失败,错误为: mysqli_report(MYSQLI_REPORT_ALL); $stmt = $mysqli->prepare("INSERT INTO check VALUES (?,?,?,?,?,?)"); 我得到的错误是: 未捕获异常“mysqli\u sql\u exception”,消息为“您有一个 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便使用正确的语法“检查值” “在第1行” 我有一个名为check的表,其中包含正确数量的字段 如果

此调用失败,错误为:

mysqli_report(MYSQLI_REPORT_ALL);
$stmt = $mysqli->prepare("INSERT INTO check VALUES (?,?,?,?,?,?)");
我得到的错误是:

未捕获异常“mysqli\u sql\u exception”,消息为“您有一个 SQL语法错误;检查与您的产品相对应的手册 MySQL服务器版本,以便使用正确的语法“检查值” “在第1行”

我有一个名为check的表,其中包含正确数量的字段 如果我更改表名以检查它是否工作。。。 有什么想法吗?

检查是一个保留关键字。要将其用作表名,必须使用如下反勾号对其进行转义:`check`:

check是一个保留关键字。要将其用作表名,必须使用如下反勾号对其进行转义:`check`:

Check是MySQL中的一个重要参数。您需要将其环绕在背景标记中,如下所示:

$mysqli->prepare("INSERT INTO `check` VALUES (?,?,?,?,?,?)");
或者更好的是,将它重命名为您不需要经常有特殊情况的东西

$mysqli->prepare("INSERT INTO checks VALUES (?,?,?,?,?,?)");
Check是MySQL中的一个重要参数。您需要将其环绕在背景标记中,如下所示:

$mysqli->prepare("INSERT INTO `check` VALUES (?,?,?,?,?,?)");
或者更好的是,将它重命名为您不需要经常有特殊情况的东西

$mysqli->prepare("INSERT INTO checks VALUES (?,?,?,?,?,?)");