是否有一種快速方法來過濾mysql_query結果以獲取僅包含特定列的值的列表?PHP:過濾特定列的mysql_query結果?
$query = mysql_query("SELECT * FROM users");
$list_of_user_names = get_values($query,"names");
用什麼名稱代替get_values
?
是否有一種快速方法來過濾mysql_query結果以獲取僅包含特定列的值的列表?PHP:過濾特定列的mysql_query結果?
$query = mysql_query("SELECT * FROM users");
$list_of_user_names = get_values($query,"names");
用什麼名稱代替get_values
?
使用以下功能。
function get_values($q,$c)
{
$arr = array();
while($row = mysql_fetch_array($q))
{
$arr[] = $row[$c];
}
return $arr; // return all names value.
}
不,我的意思是......謝謝你,這確實回答了這個問題,但我正在尋找一個正式的實現(或者可以用在它的地方的東西,比如過濾器函數)。 – MaiaVictor 2013-02-15 04:30:00
@Dokkat你必須迭代mysql結果才能獲得結果。 :) – 2013-02-15 04:31:38
試試這個:
$query = mysql_query("SELECT names FROM users");
if (!$query) {
echo "Could not successfully run query from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($query) == 0) {
echo "No rows found, nothing to print so am exiting";
exit;
}
// While a row of data exists, put that row in $row as an associative array
// Note: If you're expecting just one row, no need to use a loop
// Note: If you put extract($row); inside the following loop, you'll
// then create $names
while ($row = mysql_fetch_assoc($query)) {
echo $row["names"];
}
在DATABSE假設你的字段名稱是 「名」
$query = mysql_query("SELECT names FROM users");
while($row = mysql_fetch_assoc($query)){
echo $row['names'];
echo "<br>";
}
注:mysql_ *函數在PHP中的新版本過時,使用mysqli_ *或PDO
'SELECT names FROM users'然後獲取第一列。 – 2013-02-15 04:43:15