我有一些插入代码如下:
$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”。括号变量但没有运气。
答案 0 :(得分:0)
对于其他用户:我遇到的问题是数据库没有为我试图插入的字段设置NULL值。所以要解决这个问题,请转到mysql PHPadmin,登录并转到数据库,单击结构,然后在名为default
的列中确保将NULL设置为所有字段。例如:如果大多数人说NULL但有一个人说none
,那么插入将无效。因此,勾选该字段上的复选框(在默认列下显示"无"的字段),然后单击"更改"。在那里,您可以使用下拉列表将字段默认设置为NULL。
将代码从mysql
迁移到mysqli
时出现此问题。 mysql似乎插入而不考虑" NULL要求"。虽然容易修复。