您好,有人可以解释为什么这个查询不起作用?
这可能是愚蠢的事,但我不能为我的生活而努力! 我想要它所以所有搜索都是小写的
// $_UID would be 1
// $_GET['term'] would be 'title'
$_UID = $USER->getCID ();
$sql = $DB->prepare("SELECT * FROM jobs WHERE CID = :cid AND Status='1' AND LOWER(`SiteName`) LIKE LOWER(:term) ORDER BY ID DESC");
$sql->bindParam(':cid', $_UID, PDO::PARAM_INT);
$sql->bindParam(':term', '%' . $_GET['term'] . '%', PDO::PARAM_STR); //--line27
$sql->execute();
错误: 致命错误:无法在第27行的C:\ xampp \ htdocs \ eBusiness \ V3 \ Ajax \ job_search.php中通过引用传递参数2
答案 0 :(得分:0)
bindParam
希望第二个参数成为参考。这意味着它需要是传递的变量,而不是表达式。
$_UID = $USER->getCID();
$term = '%'.$_GET['term'].'%';
$sql = $DB->prepare("SELECT * FROM jobs WHERE CID = :cid AND Status='1' AND LOWER(`SiteName`) LIKE LOWER(:term) ORDER BY ID DESC");
$sql->bindParam(':cid', $_UID, PDO::PARAM_INT);
$sql->bindParam(':term', $term, PDO::PARAM_STR);
$sql->execute();