我想要建立一个简单的SQL语句的一部分:PHP剥离出字符串
// 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()
这是如此基本我只是迷路了。我不认为<或>是特殊字符吗?我已经尝试转义他们,并使用双引号,而这是相同的。
这是怎么回事?
你是通过某种基于网络的编辑器来做到这一点吗?可能是某些东西的剥离看起来是一个无效的HTML标记。尝试颠倒顺序(所以它是`> ... <`),或者用`</>`实体替换它们,看看是否有帮助。 – 2011-01-11 19:05:33
回显你的$ mydetails ['city']变量。我打赌由于某种原因它是空的。 – dqhendricks 2011-01-11 19:10:02