php - 简单的mysql插入错误,查询未执行且数据未插入表中

标签 php mysql mysqli

我有一些插入代码,如下所示:

$a = md5(uniqid(rand(), true));

$query = "INSERT INTO users(email, password, first_name, last_name, active, registration_date, city) VALUES ('$e', SHA('$p'), '$fn', '$ln', '$a', NOW(), '$c')";

$result = mysqli_query($dbc, $query) or trigger_error("Sorry an error happened");

并且它没有插入到数据库中。连接代码为:

DEFINE ('DBUSER', 'admin');
DEFINE ('DBPW', 'asd123');
DEFINE ('DBHOST', '127.0.0.1');
DEFINE ('DBNAME', 'test');

$dbc = @mysqli_connect(DBHOST, DBUSER, DBPW, DBNAME);

我认为这与 SHA 或 NOW() 命令有关,它曾经与 mysql 一起使用,但将其更改为 mysqli 证明是不同的。

我尝试添加“.$variable”。变量的括号,但没有运气。

最佳答案

对于其他用户:我遇到的问题是数据库没有我尝试插入的字段的 NULL 值。因此,要解决此问题,请转到 mysql PHPadmin,登录并转到数据库,单击结构,然后在名为 default 的列中确保将所有字段设置为 NULL。例如:如果大多数人说 NULL,但有一个说 none,则插入将不起作用。因此,勾选该字段上的复选框(默认列下显示“无”的字段),然后单击“更改”。在那里,您可以使用下拉列表将字段默认设置为 NULL。

我在将代码从mysql迁移到mysqli时遇到了这个问题。 mysql 似乎插入时不考虑“NULL 要求”。不过很容易修复。

关于php - 简单的mysql插入错误,查询未执行且数据未插入表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50709958/

相关文章:

MySQL 向临时表中插入多列多行

php - 尝试在 PHP 中使用 "SET @rownum = 0;"时出错

PHP 使用 mysqli 的奇怪行为

php - mysqli - 可以获取事务中之前两个查询的 insert_id 吗?

php - 如何使用 PHP 和 MySQL 将数据库从在线服务器备份到离线服务器

javascript - 一种编程语言可以同时是客户端和服务器端吗?

php - 无法从选定的重复 ID (PHP) 和 (MySQL) 中获取总和值

插入期间PHP mysqli随机错误

用于分组依据/排序依据的 MySQL 索引

php - 无法在 MySQLi 中通过引用传递参数