我想从db中选择一些数据并存储在一个数组中。假设我的db表中有一个列“关键字”。我想选择关键字列类似于“自然”的所有行。
我正在尝试以下代码:
<?
$term= "nature";
$arr = array();
$sql = "select keyword from keywords where keyword LIKE '%$term%'";
$result = mysql_query($sql) or die(mysql_error());
$rows = mysql_fetch_array($result);
foreach ($rows as $row){
array_push($arr, $row['keyword']);
}
print_r($arr); //output: Array ( [0] => n [1] => n )
?>因此,db的结果应该只返回一个关键字'nature‘,我需要将其存储在数组中。
请帮我修一下这个。
发布于 2011-07-22 07:18:41
应该是这样的
$term = "nature";
$arr = array();
$sql = "select keyword from keywords where keyword LIKE '%$term%'";
$result = mysql_query($sql) or die(mysql_error());
while( $row = mysql_fetch_assoc( $result ) ) {
arr[] = $row[ 'keyword' ];
}在解决方案中,您只将结果集中的第一条记录作为数字索引数组获取。
顺便说一句,您知道以通配符开头的类似查询不能使用任何索引吗?
发布于 2011-07-22 07:16:54
使用mysql_fetch_assoc而不是mysql_fetch_array
https://stackoverflow.com/questions/6786788
复制相似问题