作为计算机科学工作的一部分,我必须搜索关键字。
我有几张DVD的名字和描述。
用户必须搜索一个单词,然后显示该单词出现在标题或描述中的DVD的所有名称。
比方说我的表中的列是"dvd标题"answers"描述",而该人输入的单词是$keyword。
如何在mysql中选择$keyword在"dvd title"answers"description"列中至少出现一次的行。
感谢阅读。感谢您的帮助。
你可以在这些列上创建一个全文索引,但这可能不是他们希望你做的
您需要通配符,对您来说,通配符与关键字LIKE而不是=进行比较。mysql中的通配符是%
SELECT * FROM mutable WHERE dvdtitle like '%keyword%' or description like '%keyword%';
至于使用PHP变量和创建字符串,您必须自己做一些功课。
$sql = "SELECT * FROM table_name WHERE dvdtitle LIKE '%".$keyword."%' OR description LIKE '%".$keyword."%'";
执行上述SQL查询将返回表中在列dvdtitle
或description
中具有指定关键字的所有行。
使用此查询:
SELECT *
FROM table_name
WHERE dvd_title like '%$keyword%'
OR description like '%$keyword%'
您可以使用以下代码示例,它不是完整的代码,但会给您一个想法:
$query_str = "select * from dvd_table_name where dvd_title like '%$keyword%' or description like '%$keyword%'";
$qh = mysql_query($query_str);
然后使用mysql_fetch_assoc($qh)使用while循环检索数据;