我正在尝试构建一个简单的 sql 语句:
// build sql statement
$sql = "select * from some_tbl where ";
if(strlen($mydetails['city']) > 0) {
$sql .= "cityname in (".$mydetails['city'].") and ";
}
$sql .= 'fromdate <= expirydate and expirydate >= curdate() order by rand()';
但是 $sql 缺少 < 和 > 之间的所有内容。调试器将 $sql 的值显示为:
select * from tbl_adsinfo where fromdate = curdate() order by rand()
这是非常基本的,我只是迷路了。我不认为 < 或 > 是特殊字符,对吧?我尝试转义它们并改用双引号,但结果是一样的。
这是怎么回事?