This Domain(Admin5.com) is for Sale:

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 查询要非凡的小心。

织梦好,好织梦


看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息