PHP中操作My SQL的一些要注意的问题
时间:2007-12-23 来源:不详 作者:迈克DB
if (!$CITY) {$CITY = "%";} dedecms.com
$selectresult = mysql_query ("SELECT * FROM dbname
WHERE FIRST_NAME = ' 柳 '
AND LAST_NAME = ' 如风 '
AND CITY LIKE '$CITY'
"); 织梦内容管理系统
在第一行中,假如用户没有指定一个 CITY 值,那么就会用通配符 % 来代入 CITY 变量,这样搜索时就会把任何的 CITY 值都考虑进去,甚至包括那些 CITY 字段为空的纪录。
织梦好,好织梦
但是假如有一些纪录,它的 CITY 字段值是 NULL ,这时问题就出现了。上面的查询是不能够找到这些字段的。问题的一个解决办法可以是这样: 织梦内容管理系统
if (!$CITY) { $CITY = "%"; }
织梦内容管理系统
$selectresult = mysql_query ("SELECT * FROM dbname
WHERE FIRST_NAME = ' 柳 '
AND LAST_NAME = ' 如风 '
AND (CITY LIKE '$CITY' OR CITY IS NULL)
");
织梦好,好织梦
注重在搜索 NULL 时,必须用“ IS ”要害字,而 LIKE 时不会正常工作的。
内容来自dedecms
在最后要提到的是,假如你在加入或者修改一个新的字段之前,数据库中已经有了一些记录了,这时新加入的字段在原来的纪录中的值,可能是 NULL ,也可能为空。这也算是 MySQL 的一个 Bug 吧,所以在这种情况下,使用 SELECT 查询要非凡的小心。
织梦好,好织梦
上一篇:My SQL优化简明指南 下一篇:My SQL数据库优化
文章评论
共有位Admini5网友发表了评论 查看完整内容