为了账号安全,请及时绑定邮箱和手机立即绑定

PHP操作MYSql问题

PHP操作MYSql问题

jugge 2017-06-21 12:51:45
<?php
$host = '127.0.0.1';
$root = 'root';
$pass = 'XXX';
$dbna = 'test';
$conn = mysqli_connect($host,$root,$pass,$dbna);

$name = null;
$password = null;
$name_en = null;
$department = null;
$position = null;
$sql = "insert into person (name,password,name_en,department,position)
						value('$name','$password','$name_en','$department','$position ')";
if(mysqli_query($conn,$sql)){
	echo ("创建成功");	
}else{
	echo (mysqli_error($conn));
}
?>

MYSQL数据库已设置都不允许NULL,通过PHP操作插入数据时,如果把null赋值给变量,然后通过变量插入,仍然能插入数据。

如果,直接设置null则会正常的提示不允许null值, 

$sql = "insert into person (name,password,name_en,department,position)
						value('$name','$password','$name_en','$department',null)";

为什么通过变量形式还是能够插入null值

查看完整描述

53 回答

?
qq_ty_1

TA贡献2条经验 获得超4个赞

你带单引号了吧 所以是 'null'字符串而已吧

查看完整回答
4 反对 回复 2017-08-18
?
慕神6678310

TA贡献2条经验 获得超3个赞

php语言比较简单

查看完整回答
2 反对 回复 2017-10-07
?
天使之翼死神之镰

TA贡献86条经验 获得超109个赞

null改成NULL试试看

查看完整回答
1 反对 回复 2017-06-22
  • jugge
    jugge
    换成NULL也不行,也是能直接插入
?
ChengMingC

TA贡献3条经验 获得超0个赞

兄弟,666

查看完整回答
反对 回复 2019-04-20
?
凯旋132

TA贡献4条经验 获得超0个赞

首先我向展示两个值,看一下一不一样,1.'null'  2.null    这两个值是不一样的,'null'是一个普通的字符串,而null则表示为空

查看完整回答
反对 回复 2019-04-15
?
林子懿

TA贡献8条经验 获得超1个赞

可能是这样的,数据库设置的默认值是NULL,所以你输入空的时候就是NULL你可以给数据库字段一个默认值

查看完整回答
反对 回复 2019-03-05
?
QJAutumn

TA贡献1条经验 获得超0个赞

你可以这样{$name}

查看完整回答
反对 回复 2018-11-08
?
ZM77

TA贡献2条经验 获得超0个赞

单引号不解析变量,双引号才解析变量

查看完整回答
反对 回复 2018-08-02
?
风儿风光

TA贡献6条经验 获得超0个赞

给变量加上{}

查看完整回答
反对 回复 2017-12-15
?
Sun丶发发

TA贡献8条经验 获得超0个赞

你可以打印一下sql,我觉得PHP会把你的变量当成普通字符串

查看完整回答
反对 回复 2017-11-26
?
靠谁不如靠自己

TA贡献1条经验 获得超0个赞

给变量加{}

查看完整回答
反对 回复 2017-07-13

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信