如何跳过mysqli空值检查?

时间:2018-11-17 12:48:58

标签: php mysqli

我有一个表名user和4个列名id userid username password,其中id是自动递增userid的默认值是0 username的默认值值是无,password也无。

id is int
userid is int
username is varchar
password is varchar

现在,如果我插入任何行

mysqli_query($con, "INSERT INTO user SET userid='1', username='name'");

Then it's showing Field密码doesn't have a default value

现在,如果我插入任何行

$userid = $_GET['id'];

mysqli_query($con, "INSERT INTO user SET userid='".$userid."', username='name', password='1234'");

现在,如果$_GET['id'];为空,则显示Incorrect integer value: '' for column 'userid' at row 1

我以前的服务器没有像这样警告我,但是这是一台新服务器,它正以这种方式显示如何跳过此问题?

1 个答案:

答案 0 :(得分:-2)

插入查询就像

"snapshotSerializers": [
  "enzyme-to-json/serializer"
]

如果要插入用户名和密码字段均为空白,以便可以在“结构”选项卡中编辑该字段,请查找“ NULL”复选框。选中后,这等效于DEFAULT NULL语句。

您可以通过“ like”查询使用默认设置

为用户名字段设置默认为空

INSERT INTO table_name (column1, column2, column3) VALUES (value1, value2, value3);

为密码字段设置默认为空

ALTER TABLE `table_name` CHANGE `username` `username` VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL;