我有fallowing数据库表'table_name':
+----+---------+--------------+
| ID | user_id | meta_key1 |
+----+---------+--------------+
| 1 | 1 | d |
| 2 | 1 | f |
| 3 | 1 | c |
| 4 | 2 | g |
| 5 | 3 | 1 |
| 6 | 3 | 2 |
| 7 | 4 | 4 |
| 8 | 4 | 5 |
| 9 | 4 | 5 |
| 10 | 4 | 5 |
+----+---------+--------------+
Run Code Online (Sandbox Code Playgroud)
我想从user_id ='1'的所有条目中选择*.
我现在使用的代码只返回第一个值:
$query = mysql_query("SELECT * FROM table_name WHERE user_id='1'");
$row = mysql_fetch_assoc($query);
while($row){
return $row["meta_key1"];
}
Run Code Online (Sandbox Code Playgroud)
结果始终是table_name中user_id ='(given_id)'的第一个条目:
d
Run Code Online (Sandbox Code Playgroud)
虽然我喜欢这个结果:
d
f
c
Run Code Online (Sandbox Code Playgroud)
您需要在循环中不断获取行以获取结果中的每一行,类似于:
while( $row = mysql_fetch_assoc($query)){
echo $row["meta_key1"];
}
Run Code Online (Sandbox Code Playgroud)
由于您正在执行操作return $row['meta_key1'],因此只要获取第一行,该函数就会返回一个值.因此,如果您在函数中使用它,则需要构建一个数组来获取所有值:
$return = array();
while( $row = mysql_fetch_assoc($query)){
$return[] = $row["meta_key1"];
}
return $return;
Run Code Online (Sandbox Code Playgroud)