当前位置: 首页 > 知识库问答 >
问题:

PHP-MySQLi插入不工作

松波
2023-03-14

我必须向MySQL数据库发送一个INSERT查询,假设所有变量都设置正确,我使用以下代码:

 $check_alrd_sent = $mysqli -> query("SELECT * FROM reviews WHERE id_prod =" . $id_prod . " AND id_user = " . $current_usr . " LIMIT 1");
$check = mysqli_fetch_all($check_alrd_sent);

if ($check != NULL) {
    $check_err = 1;
} else {
    $ins_rev = $mysqli -> query("INSERT INTO `reviews` (`ID` ,`ID_prod` ,`ID_user` ,`review` ,`stars`) VALUES (NULL , " . $id_prod .",  " . $current_usr . ", " . $review . ",  " . $rating . ");");
    $ins_result = 1;
}
mysqli_free_result($check_alrd_sent);

$ins\u result变量被正确设置为result,正如我在使用var\u dump()时看到的那样,但现在在数据库中插入了行。

奇怪的是,如果调用MySQL错误日志,可以清楚地看到insert被正确地发送到数据库,如下所示:

42 Query     INSERT INTO `reviews` (`ID` ,`ID_prod` ,`ID_user` ,`review` ,`stars`) VALUES (NULL , 11,  1, asd,  4)

但它没有出现在表格中。

有什么建议吗?谢谢

共有3个答案

钱志
2023-03-14

在输出中,“asd”不在单引号中。这将是无效的SQL。还应考虑转换为未弃用的SQL函数,如PDO。

闻人弘雅
2023-03-14

Varchar字段必须在2个配额中,因此评论字段必须在2'中:

$ins_rev = $mysqli -> query("INSERT INTO `reviews` (`ID` ,`ID_prod` ,`ID_user`
,`review` ,`stars`) VALUES (NULL , '" . $id_prod ."', ' " . $current_usr . "', '" .
$review . "',  '" . $rating . "');");
周瀚
2023-03-14

您的INSERT语句中存在两个问题:

  1. review列的值是一个字符串,所以需要在review值周围使用引号

修改的查询:

INSERT INTO `reviews` 
( `ID_prod`, `ID_user` ,`review` ,`stars`) 
VALUES (11, 1, "asd", 4)
 类似资料:
  • 问题内容: 我一直在看这段代码已有一段时间了,但我看不出问题出在哪里。我已经阅读了整个StackOverflow,但仍然看不到我的错误在哪里。 错误在第13行中,即thats 。我尝试通过http://www.w3schools.com/php/php_mysql_insert.asp帮助自己,但对我没有太大帮助。 问题答案: 警告: 切勿将 w3schools 用于学习目的。他们的教程中有很多错

  • 简介:在转储/恢复后,无法再从web应用程序连接到MariaDB。在Mariadb中处理PHP、mysql()和mysqli()接口的方式似乎有些不同。 MacOS X 10.6.8(雪豹)上的MariaDB 10.1.8,以及PHP 5.3.8和Apache 2.2.24。 由于磁盘驱动器出现故障,我遇到了“数据库崩溃”的情况,一些InnoDB表无法访问,最后导致服务器崩溃。我按照服务器错误日志

  • 我对MySQLi的PHP bind_param函数有一个相当奇怪的问题。 我用?创建查询,参数将绑定到哪里,我准备语句,绑定参数,然后执行语句。由于某些原因,它没有绑定参数。该系统是一个原型招聘软件,用于更新注册申请人的详细信息。 代码如下: 任何帮助都非常感谢! 谢谢!

  • 我试图使用php/html表单将数据输入到mysql数据库中,但它不起作用,我不知道为什么。该记录没有插入,我只得到一个空白页后,我提交了表单。 谢谢,尤金妮 这是我的databaseenter图像描述 这是html表单: 这是php代码:

  • 主要内容:PHP MySQLi 简介,安装 / Runtime 配置,PHP 5 MySQLi 函数PHP MySQLi 简介 PHP MySQLi = PHP MySQL Improved! MySQLi 函数允许您访问 MySQL 数据库服务器。 注释:MySQLi 扩展被设计用于 MySQL 4.1.13 版本或更新的版本。 安装 / Runtime 配置 为了能够顺利使用 MySQLi 函数,您必须在编译 PHP 时添加对 MySQLi 扩展的支持。 MySQLi 扩展是在 PHP 5.

  • 我的PHP代码中的插入数据sql命令不工作。有人能帮帮忙吗? 我有一个注册表,它从输入字段(姓名、姓氏、电子邮件、用户名和密码)中获取值 用户在此字段中输入的值应保存到我的表“users”中,该表有以下列(ID[主键/INT]、name[文本]、lastname[文本]、e-mail[变量字符]、username[变量字符]和password[变量字符])。 这是我目前的代码: