[英]Select from database and store in an array
我想 select 来自 db 的一些数据并存储在一个数组中。 假设我的数据库表中有一个“关键字”列。 我想 select 关键字列类似于“自然”的所有行。
我正在尝试以下代码:
<?
$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”。
请帮我解决这个问题。
应该是这样的
$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' ];
}
在您的解决方案中,您只从结果集中获取第一条记录作为数字索引数组。
顺便说一句-您知道以通配符开头的 LIKE 查询不能使用任何索引吗?
使用mysql_fetch_assoc
而不是mysql_fetch_array
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.