【发布时间】:2018-12-15 15:37:09
【问题描述】:
我试图寻找解决方案,但似乎无法理解我遇到的问题。
我有一个带有“where 子句”的搜索查询,说明用户输入多个单词是否返回结果。
我需要以相同的搜索顺序返回的结果。
即使我只是添加了“ORDER BY DESC”,也会引发错误“尝试获取非对象的属性”。
这是我的代码:
$word = $_GET['word'];
$word3 = $_GET['word'];
$word = explode(";", $word);
$noOfWords = count($word);
$word2 = $word3;
if ($noOfWords == 1) {
$searchString = " word_eng LIKE '" . $conn->escape_string($word3)
"%'";
} else {
$searchString = $whereClause = "";
foreach ($word as $entry) {
$searchString .= " OR word_eng LIKE '" . $conn->escape_string($entry) . "' ORDER BY '" . $word2 . "' ";
}
}
$whereClause = ($searchString != "") ? " WHERE " . preg_replace('/OR/',
'', $searchString, 1) : $whereClause;
$sql = "SELECT word_eng FROM words " . $whereClause . " LIMIT 17";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
$row1 = $row["word_eng"];
echo $row1;
}
【问题讨论】: