猿问
下载APP

PHP操作MYSql问题

<?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值

jugge
浏览 7766回答 18
18回答

qq_ty_1

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

jugge

已找到解决方法,赋值是加上单引号,然后语句中不用引号,这样执行就会提示不允许null了$name = 'null'; $password = 'null'; $name_en = 'null'; $department = 'null'; $position = 'null'; $company = 'null'; $sql = "insert into person (name,password,name_en,department,position,company)                     value($name,$password,$name_en,$department,$position,$company)";

qq_123_1563591689

php语言比较简单

天使之翼死神之镰

null改成NULL试试看

Caballarii

你确定数据库里$sql = "insert into person (name,password,name_en,department,position)                         value('$name','$password','$name_en','$department','$position ')";这样插入的数据是null???

慕莱坞4347929

百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照百度快照

慕莱坞4347929

强娃儿生日当天发一个............................................................................................................................................................

qq_慕斯卡4054824

有偿求购:做个B/S办公网站,PHP+MySQL,用户10人登录管理,有合同台账、付款台账,变更台账(几个表关联),新手可以找我(以匹配没入门的我),我的邮件mas10000@163.com。

ChengMingC

兄弟,666

凯旋132

首先我向展示两个值,看一下一不一样,1.'null'  2.null    这两个值是不一样的,'null'是一个普通的字符串,而null则表示为空
打开App,查看更多内容
随时随地看视频慕课网APP
我要回答
继续浏览精彩内容
慕课网APP
程序员的梦工厂
继续