php - 调试 mysqli 查询,否则出现 mysqli_error

标签 php mysql sql mysqli

我不知道出了什么问题。

$result = $db->query("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`) 
    VALUES ('".$postid.", '".$content."', '".$date."', '".$user_id."', '".$category_id."')");
if($result) { 
    echo "hey";
}

如何使用mysqli_error函数检查错误原因?我认为 PHP 的语法很好。我猜我的数据库有问题。

最佳答案

单引号有问题。您的 $postid 之前有一个 ',但后面没有一个。这意味着 SQL 查询会将 '$postid, ' 视为您的第一个变量,然后对剩余的变量感到困惑。

尝试将 SQL 更改为:

$result = $db->query("INSERT INTO post_items(`post_id`,`content`,`date`,`user_id`,`category_id`) 
VALUES ('".$postid."', '".$content."', '".$date."', '".$user_id."', '".$category_id."')");

希望有帮助。

关于php - 调试 mysqli 查询,否则出现 mysqli_error,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21421055/

相关文章:

php - 是否有可能使数据库像克隆一样?

php - Paypal IPN 现在返回无效 - 以前工作正常的 PHP 代码

mysql - 在 Doctrine 模式中,当我添加新字段时无法更新

sql - 我应该忽略数据库插入的异常吗?

mysql - 如何将这段sql翻译成没有子查询的左连接?

php - 使用 PHP 和 SQL 隐藏不再使用的记录而不是将其永久删除

php - 警告 : mysql_fetch_array(): error

mysql - 错误 1093 (HY000) : You can't specify target table 'a' for update in FROM clause

Mysql日志触发器

sql语句删除早于XXX的记录,只要超过YY行