我正在尝试运行以下查询,但我在使用通配符时遇到了问题。
function getStudents() {
global $db;
$users = array();
$query = $db->prepare("SELECT id, adminRights FROM users WHERE classes LIKE ? && adminRights='student'");
$query->bind_param('s', '%' . $this->className . '%');
$query->execute();
$query->bind_result($uid, $adminRights);
while ($query->fetch()) {
if (isset($adminRights[$this->className]) && $adminRights[$this->className] == 'student')
$users[] = $uid;
}
$query->close();
return $users;
}
我收到一条错误消息:无法通过引用传递参数 2。我需要使用通配符的原因是该列的数据包含序列化数组。我想,如果有更简单的方法来处理这个问题,我该怎么办?
提前致谢!