Php 从数据库中选择并存储在阵列中
我想从数据库中选择一些数据并存储在数组中。假设我的db表中有一列“关键字”。我想选择关键字列类似于“nature”的所有行 我正在尝试以下代码:Php 从数据库中选择并存储在阵列中,php,mysql,arrays,select,Php,Mysql,Arrays,Select,我想从数据库中选择一些数据并存储在数组中。假设我的db表中有一列“关键字”。我想选择关键字列类似于“nature”的所有行 我正在尝试以下代码: <? $term= "nature"; $arr = array(); $sql = "select keyword from keywords where keyword LIKE '%$term%'"; $result = mysql_query($sql) or die(mysql_error())
<?
$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 )
?>
使用mysql\u-fetch\u-assoc
而不是mysql\u-fetch\u-array
使用mysql\u-fetch\u-assoc
而不是mysql\u-fetch\u-array
应该是这样的
$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查询不能使用任何索引吗?应该是
$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查询不能使用任何索引吗