我有一個MySQL數據庫充分的用戶信息,如他們的用戶名,密碼,電子郵件等顯示MySQL數據庫作爲數組
我想一個PHP腳本,讓我拉只是他們的用戶名,並顯示它像所以:
「用戶名1」, 「用戶名2」, 「USERNAME3」
字面上完全一樣,報價和所有。
編輯:對不起,不提供足夠的信息。
表被命名爲「用戶」的領域我想拉斷它是「用戶名」我可以把它拉和顯示的所有信息,我唯一的問題是它的內爆。
我有一個MySQL數據庫充分的用戶信息,如他們的用戶名,密碼,電子郵件等顯示MySQL數據庫作爲數組
我想一個PHP腳本,讓我拉只是他們的用戶名,並顯示它像所以:
「用戶名1」, 「用戶名2」, 「USERNAME3」
字面上完全一樣,報價和所有。
編輯:對不起,不提供足夠的信息。
表被命名爲「用戶」的領域我想拉斷它是「用戶名」我可以把它拉和顯示的所有信息,我唯一的問題是它的內爆。
OK花花公子,閱讀評論
<?php // open a php tag
$dbc = mysql_connect("host", "username", "password"); // connect to database
mysql_select_db("db_name", $dbc) // select the database
$sql = "SELECT `username` FROM `users_table`"; // select only the username field from the table "users_table"
$result = mysql_query($sql); // process the query
$username_array = array(); // start an array
while($row = mysql_fetch_array($result)){ // cycle through each record returned
$username_array[] = "\"".$row['username']."\""; // get the username field and add to the array above with surrounding quotes
}
$username_string = implode(",", $username_array); // implode the array to "stick together" all the usernames with a comma inbetween each
echo $username_string; // output the string to the display
?>
非常感謝,我是PHP新手,所以這對我來說都是全新的,謝謝幫助我,我希望能夠學到更多! – unlucky4ever 2012-02-10 15:43:27
嘿,別擔心......我們都是你曾經的地方! :)我相信你很快就會成爲專家!只是閱讀評論,我試圖儘可能有幫助。如果您有任何疑問,請點擊這裏,或者通過twitter @ tclayson與我聯繫。 – 2012-02-10 15:45:33
你可以使用PHP的implode
,但它可能更容易做它的SQL假設該列表將不會太長:
SELECT GROUP_CONCAT(CONCAT('"', username, '"')) AS usernames
FROM your_table
假設你有一個'mydb'數據庫和'users'表。需要
SQL:
USE mydb;
SELECT username from users;
短版:
龍版本:
首先,我們需要連接到數據庫:
$db = mysql_connect('DATABASE_HOST', 'USER', 'PASSWORD');
if (!$db) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('mydb', $db);
if (!$db_selected) {
die ('Can\'t use mydb: ' . mysql_error());
}
記住總是檢查函數的返回值。
然後我們查詢數據庫:
$result = mysql_query('select username from users', $db);
...並獲取平板陣列結果(我們只需要用戶名):
while ($row = mysql_fetch_array($result, MYSQLI_ASSOC))
{
$data[] = $row['login'];
}
然後我們格式化返回的數據根據您的規格:
$string_result = '"'. implode('", "', $data) . '"';
你可以用你想要什麼$string_result
做,只是關閉數據B使用後立即ASE連接:
mysql_close($db);
祝你好運與學習PHP,BTW。 ;)
我見過的所有其他的答案,但有你使用PDO來代替的mysql_query功能的考慮?這是使用數據庫更好的方法。
這裏是你想在幾行代碼來實現(使用蘭巴功能)什麼:
$dbh = new PDO("mysql:host=localhost;dbname=test", "yourusername", "yourpassword");
$results = $dbh->prepare("SELECT u.username FROM users u");
$results->execute();
$results = $results->fetchAll();
echo implode(", ", array_map(function(&$r) { return $r['username']; }, $results));
輸出:Jamie, Bob, Chris
尼斯和清潔。此外,您應該檢查是否有任何已返回的結果以及查詢是否成功。
只是另一種方法。
編輯:我剛剛意識到你是初學者,所以我的答案可能有點太高級。但是,我會讓其他人將其視爲一種解決方案,也許您可能會在學習更多時使用PDO和lamba函數。祝你好運。
這是功課嗎? – Vyktor 2012-02-10 15:36:55
男人,你真的需要提供表的名字,MySQL中的數據不是存儲在數據庫中,而是以數據庫內表中的行的形式存在。 :) – hijarian 2012-02-10 15:37:03
不,這不是作業,它只是我爲了樂趣而做的。 但抱歉沒有提供所有信息。 我所需要的只是讓你爲我感到內疚,因爲我似乎無法得到它。 以下是我的$結果,您可以使用: $ result = mysql_query(「SELECT username FROM users」); – unlucky4ever 2012-02-10 15:38:10