【发布时间】:2014-11-10 18:02:00
【问题描述】:
我正在编写一个简单的选择语句,由于连接对象是 mysqli,我不能使用 AND , && , OR 之类的运算符,因为它会给出错误
function getdata($value1,$value2)
{
global $conn;
$query = "SELECT id, name from users WHERE id!=$value1 && email==$value2 ";
$result = $conn->query($query);
}
这不起作用:-(
错误:试图获取非对象的属性 .. bla bla ..
这意味着我的 sql 语句有问题,因为当我尝试不使用逻辑运算符时它可以工作,但当然没有用。
使用准备语句和绑定参数 我提到了这个线程SELECT in MYSQLI 并尝试使用准备语句..但我猜我做错了什么
$query=$conn->prepare("SELECT id, name from users WHERE id!=? && email==?");
$query->bindParam("ss", $value1,$value2); // line 20 error points here
$query->execute();
错误:
Call to a member function bindParam() on a non-object in /mydir/file.php line 20
附: var_dump($query); 返回bool(false)
【问题讨论】:
-
dev.mysql.com/doc/refman/5.0/en/logical-operators.html | == 不是有效的 SQL 运算符