我的搜索功能
<?php
$i=0;
$column_name = 'title'; // column to search by
$k =$_GET['k'];
$terms = explode(" ",$k);
//connect before calling mysql_real_escape_string
mysql_connect("localhost","","");
mysql_select_db("test");
$query ="SELECT bookid,title,author
FROM books WHERE";
foreach ($terms as $each){
$i++;
$each = '%' . $each . '%'; // add wildcard
$each = mysql_real_escape_string($each); // prevent sql injection
if($i==1)
$query .= " $column_name LIKE '$each' ";
else
$query .= " OR $column_name LIKE '$each' ";
}
echo 'QUERY: ' . $query;
$query = mysql_query($query) OR DIE(mysql_error());
//Code below is for using the relationships table assuming you have a column name id that
//references to the relationships table. Also, you should add a index on the column id.
$results = "";
while($row = mysql_fetch_array($query)) {
$results .= '<li>
<a href="book-relationships.php?id='.$row['id'].'">'.$row['title'].' author: '.$row['author'].'</a>
</li>';
}
$results = '<ul>' . $results . '</ul>';
echo $results;
我需要帮助在搜索时将一个数据库与另一个数据库相关联,此数据库列出了所有已经出现在搜索中的书籍,然后将它们与另一个称为关系的表格进行比较,并打印出与该书籍有关系的书籍的标题搜索。
运行搜索时,这是浏览器中生成的内容
QUERY: SELECT id,title,author FROM books WHERE title LIKE '%jarrads%' Unknown column 'id' in 'field list'
任何帮助都会受到赞赏我100%卡住了
架构
书籍 - bookid,title,author,yearpublished,publisher ..... 关系 - relationshipid,bookOne,bookTwo,relationship,relationshiplikes,relationshipdislikes
bookOne和bookTwo,与bookid有关
答案 0 :(得分:0)
您的查询中有错误,因为错误消息指出:
Unknown column 'id' in 'field list'
检查您的表格books
以获取有效字段列表。实现此目的的一种方法是运行以下查询:
SHOW CREATE TABLE books;