PHP - 将字符串empty转换为null

时间:2017-01-28 18:17:58

标签: php string null

我从$ _GET变量中获取值时有一个php页面,并将其置于具有两个条件的php查询中:

AND book_id = '$bookid"
AND book_date between coalesce('$bookdate',book_date) AND coalesce('$bookdate',book_date)

问题在于这种情况:AND book_date between coalesce('$bookdate',book_date) AND coalesce('$bookdate',book_date) 要工作,查询需要'$ bookdate'= null,并且在检索变量时,将值设置为字符串。

如何制作?

由于

2 个答案:

答案 0 :(得分:0)

在查询中使用之前,您似乎只需要有条件地声明变量。

$bookdate = !strlen($bookdate) ? null : $bookdate

或者更恰当地来自$_GET ......

$bookdate = empty($_GET['bookdate']) ? null : $bookdate

...因为您的变量名称暗示了日期类型值,我将假设0值不会被传递或对您的用例无效。我这样说是因为empty()0评估为true

*在尝试访问/操作它们以避免接收通知之前,应检查超级全局元素是否存在存在。 (例如isset()empty()array_key_exists()

答案 1 :(得分:-1)

在进行sql查询之前检查变量:

$bookdate = !empty($bookdate) ? $bookdate : null;