本文目录一览:
- 1、thinkphp的where问题
- 2、php中用sql where语句出错,使用WHERE id IN ($a['ids'])则会报错:Unknown column 'ID' in 'where clause'
- 3、php中用sql where语句出错,使用where id IN ($str) 则会报错:Unknown column 'ID' in 'where clause',
thinkphp的where问题
这个简单,代码如下:
$model-where(array('cc' = arra('in',array(1,2))))-count();
或者
$model-where(array('cc' = array('exp','in(1,2)')))-count();
php中用sql where语句出错,使用WHERE id IN ($a['ids'])则会报错:Unknown column 'ID' in 'where clause'
Unknown column 'ID' in 'where clause
这句话的大概意思是,未知的列'ID',在where 子句里。
从 [ids] = ID-1002,ID-1000 这里可以看出,应该是数据库将 ID-1002 当成计算公式,所以会出现 “未知的列'ID'” 错误提示,其原因在于:
ID-1002 没有使用 双引号或单引号 包括起来,表示这是个字符串值,而不是一个表达式。
解决办法:
将 $a['ids'] = implode(',',$_POST['ids']); 这一句修改为:
$a['ids'] = sprintf('"%s"',implode('", "',$_POST['ids']));
php中用sql where语句出错,使用where id IN ($str) 则会报错:Unknown column 'ID' in 'where clause',
$arr = array("'a'","'b'");
$mysql_query ("SELECT * FROM TABLE WHERE Field IN (".implode(",", $arr).")");