如何在INT数据类型中存储空文本?每次我提交表格时,它给我的值为0
这是我的代码:
$contact_number = $_POST['contact_num'];
$contact_number1 = !empty($contact_number) ? "'$contact_number'" : "NULL";
INSERT INTO
pre_enrollment(pre_en_contact_num)
VALUES('$contact_number1');";
答案 0 :(得分:1)
是的,你可以删除引号。引号使它成为一个字符串。
$contact_number1 = !empty($contact_number) ? $_POST['contact_num'] : NULL;
答案 1 :(得分:1)
由于您已在$contact_number1
中添加了引号,因此您在查询中不需要它们。这是在数字周围放置一组额外的引号,这是一个语法错误,并在NULL
周围加上引号,这使得它成为字符串而不是空文字。
但是,最好使用准备好的查询而不是字符串替换。
$contact_number = empty($_POST['contact_num']) ? null : $_POST['contact_num'];
$stmt = mysqli_prepare($conn, "INSERT INTO pre_enrollment (pre_en_contact_num) VALUES (?)");
mysqli_stmt_bind_param($stmt, "s", $contact_number);
mysqli_stmt_execute($stmt);
准备好的语句会自动将PHP null
转换为MySQL NULL
。