我有一些插入代码,如下所示:
$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/