【发布时间】:2014-02-27 08:59:57
【问题描述】:
我需要搜索数据库字符串数组的所有元素,并返回有多少值与现有数据库条目匹配..
database name = words , table name=collection , word 是要搜索的数组所在的列
<?php
$array=array('abc','xyz','lmn','pqr');
@ $db=new mysqli('localhost','root','','words');
if(mysqli_connect_errno()) {
echo 'Error:Could not connect to the database';
} else echo 'connected';
$db->select_db('words');
foreach($array as $s) {
$query="select * from collection where word = '%".$s."%'";
$result=$db->query($query);
}
if($result) echo $db->affected_rows;
$db->close();
?>
【问题讨论】:
-
应该是单词 LIKE '%".addslashes($s)."%'"
-
SELECT 查询不会更新受影响的行计数器。
-
@Andrew
addslashes()不适合 SQL 转义。 -
顺便说一句,如果数组不是太大,您可以生成一个查询,它会一次性给您答案,即
WHERE word LIKE ? OR word LIKE ? OR ...