简单的mysql插入错误,查询不执行和数据不插入表

时间:2018-06-05 22:46:15

标签: 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”。括号变量但没有运气。

1 个答案:

答案 0 :(得分:0)

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

将代码从mysql迁移到mysqli时出现此问题。 mysql似乎插入而不考虑" NULL要求"。虽然容易修复。