你好,我試圖計算有多少行位於列中,其中名稱包括任何名稱在預定義的$ uk_array。MySQL like子句不能對數組php
mysql打印出我沒有任何值的列「有()」與數組中的名稱相匹配,但有一個「Dublin,Ireland」。
下面是代碼:
<?php
include'connect.php';
$uk_array = array('Liverpool','London','London UK','UK','London',
'Dublin, Ireland','Manchester','Norwich','United Kingdom','Norwich','Duplin','England','ENGLAND',
'united kingdom');
$string = '';
foreach($uk_array as $term=>$i) {
$string = $string."location LIKE '%".$i."%' AND";
}
$string = substr($string, 0, -5);
$query="SELECT COUNT(location) as location FROM tweets WHERE $string";
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)){
echo "There are ". $row['location']."";
}
?>
編寫代碼之前,更注重你的邏輯。 – Matt 2012-07-30 13:17:55
如果你沒有部分地點匹配,可以使用WHERE IN IN('Dublin','Liverpool','London',...)'而不是LIKE,它的速度更快,更乾淨。 – ddinchev 2012-07-30 13:18:50
缺少空間。這就是我要說的...... – DaveRandom 2012-07-30 13:20:03