如果搜索结果存在于我的数据库中名为“job”的表的“查询”列中,我正在尝试获取用户输入的#、@ 或普通语句,然后从 SQL 数据库中提取这些结果。这是我得到的错误:
Unknown column 'Array' in 'where clause'
这是我的代码:
$result_all = $_POST['result_name'];
$result_all_array= explode(',',$result_all);
$query = "select last_count, query, job_id from twitterinblack46.job where
query in (".$result_all_array.") order by last_count desc;";
$result= mysql_query($query);
if($result === FALSE) {
die(mysql_error());
}
else{
//Sets up table
echo "<table border='1'
<tr>
<th>Job ID</th>
<th>Last Count</th>
<th>Result</th>
</tr>";
//Populates table
while($row = mysql_fetch_array($result)){
echo"<tr>";
echo "<td>" . $row["job_id"] . "</td>";
echo "<td>" . ltrim($row["last_count"],'0') . "</td>";
echo "<td>" . str_replace(array('%23', '%40', '%20', 'q='), array('#','@',' ',''),
$row['query']) . "</td>";
echo "<tr>";
}
echo "</table>";
有人知道我在做什么错吗?
更新:
这是混乱,我没有忘记复制 $ 进行查询。“查询”是我想从查询中获取信息的列的名称。所以我要说的是,这两组代码有什么区别,为什么它不适用于第一个查询?
不起作用的代码:
$result_all= $_POST['result_name'];
$query = "select last_count, query, job_id from twitterinblack46.job where
query in (".$result_all.") order by last_count desc;";
$result= mysql_query($query);
有效的代码:
$job_id_all= $_POST['job_id'];
$query = 'select last_count, query, job_id from twitterinblack46.job where job_id in
('.$job_id_all.') order by last_count desc;';
$result= mysql_query($query);