MySQL 數(shù)據(jù)庫使用SQL SELECT語句來查詢數(shù)據(jù)。
成都創(chuàng)新互聯(lián)公司堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:網(wǎng)站制作、成都網(wǎng)站設(shè)計、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的五臺網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
你可以通過 mysql> 命令提示窗口中在數(shù)據(jù)庫中查詢數(shù)據(jù),或者通過PHP腳本來查詢數(shù)據(jù)。
以下為在MySQL數(shù)據(jù)庫中查詢數(shù)據(jù)通用的 SELECT 語法:
SELECT column_name,column_name FROM table_name[WHERE Clause][LIMIT N][ OFFSET M]
查詢語句中你可以使用一個或者多個表,表之間使用逗號(,)分割,并使用WHERE語句來設(shè)定查詢條件。
SELECT 命令可以讀取一條或者多條記錄。
你可以使用星號(*)來代替其他字段,SELECT語句會返回表的所有字段數(shù)據(jù)
你可以使用 WHERE 語句來包含任何條件。
你可以使用 LIMIT 屬性來設(shè)定返回的記錄數(shù)。
你可以通過OFFSET指定SELECT語句開始查詢的數(shù)據(jù)偏移量。默認(rèn)情況下偏移量為0。
以下實例我們將通過 SQL SELECT 命令來獲取 MySQL 數(shù)據(jù)表 runoob_tbl 的數(shù)據(jù):
以下實例將返回數(shù)據(jù)表 runoob_tbl 的所有記錄:
select *fromrunoob_tbl;
輸出結(jié)果:
使用 PHP 函數(shù)的 mysqli_query() 及 SQL SELECT 命令來獲取數(shù)據(jù)。
該函數(shù)用于執(zhí)行 SQL 命令,然后通過 PHP 函數(shù) mysqli_fetch_array() 來使用或輸出所有查詢的數(shù)據(jù)。
mysqli_fetch_array() 函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組,或數(shù)字?jǐn)?shù)組,或二者兼有 返回根據(jù)從結(jié)果集取得的行生成的數(shù)組,如果沒有更多行則返回 false。
以下實例為從數(shù)據(jù)表 runoob_tbl 中讀取所有記錄。
嘗試以下實例來顯示數(shù)據(jù)表 runoob_tbl 的所有記錄。
$dbhost ='localhost:3306'; // mysql服務(wù)器主機地址
$dbuser ='root'; // mysql用戶名
$dbpass ='123456'; // mysql用戶名密碼
$conn =mysqli_connect($dbhost,$dbuser,$dbpass);
if(!$conn)
{
die('連接失敗:' .mysqli_error($conn));
}
// 設(shè)置編碼,防止中文亂碼
mysqli_query($conn ,"set names utf8");
$sql ='SELECT runoob_id, runoob_title,
runoob_author, submission_date
FROM runoob_tbl';
mysqli_select_db($conn,'RUNOOB');
$retval =mysqli_query($conn,$sql);
if(!$retval)
{
die('無法讀取數(shù)據(jù):' .mysqli_error($conn));
}
echo'
echo'
教程 ID | 標(biāo)題 | 作者 | 提交日期 |
{$row['runoob_id']} | ".{$row['runoob_title']} | ".{$row['runoob_author']} | ".{$row['submission_date']} | ".
}
echo'';
mysqli_close($conn);
?>
輸出結(jié)果如下所示:
以上實例中,讀取的每行記錄賦值給變量 $row,然后再打印出每個值。
注意:記住如果你需要在字符串中使用變量,請將變量置于花括號。
在上面的例子中,PHP mysqli_fetch_array() 函數(shù)第二個參數(shù)為 MYSQL_ASSOC, 設(shè)置該參數(shù)查詢結(jié)果返回關(guān)聯(lián)數(shù)組,你可以使用字段名稱來作為數(shù)組的索引。
PHP 提供了另外一個函數(shù) mysqli_fetch_assoc(), 該函數(shù)從結(jié)果集中取得一行作為關(guān)聯(lián)數(shù)組。 返回根據(jù)從結(jié)果集取得的行生成的關(guān)聯(lián)數(shù)組,如果沒有更多行,則返回 false。
嘗試以下實例,該實例使用了 mysqli_fetch_assoc() 函數(shù)來輸出數(shù)據(jù)表 runoob_tbl 的所有記錄:
$dbhost ='localhost:3306'; // mysql服務(wù)器主機地址
$dbuser ='root'; // mysql用戶名
$dbpass ='123456'; // mysql用戶名密碼
$conn =mysqli_connect($dbhost,$dbuser,$dbpass);
if(!$conn)
{
die('連接失敗:' .mysqli_error($conn));
}
// 設(shè)置編碼,防止中文亂碼
mysqli_query($conn ,"set names utf8");
$sql ='SELECT runoob_id, runoob_title,
runoob_author, submission_date
FROM runoob_tbl';
mysqli_select_db($conn,'RUNOOB');
$retval =mysqli_query($conn,$sql);
if(!$retval)
{
die('無法讀取數(shù)據(jù):' .mysqli_error($conn));
}
echo'
echo'
教程 ID | 標(biāo)題 | 作者 | 提交日期 |
{$row['runoob_id']} | ".{$row['runoob_title']} | ".{$row['runoob_author']} | ".{$row['submission_date']} | ".
mysqli_close($conn);
?>
輸出結(jié)果如下所示:
你也可以使用常量 MYSQL_NUM 作為 PHP mysqli_fetch_array() 函數(shù)的第二個參數(shù),返回數(shù)字?jǐn)?shù)組。
以下實例使用 MYSQL_NUM 參數(shù)顯示數(shù)據(jù)表 runoob_tbl 的所有記錄:
$dbhost ='localhost:3306'; // mysql服務(wù)器主機地址
$dbuser ='root'; // mysql用戶名
$dbpass ='123456'; // mysql用戶名密碼
$conn =mysqli_connect($dbhost,$dbuser,$dbpass);if(!$conn)
{
die('連接失敗:' .mysqli_error($conn));
}
// 設(shè)置編碼,防止中文亂碼
mysqli_query($conn ,"set names utf8");
$sql ='SELECT runoob_id, runoob_title,
runoob_author, submission_date
FROM runoob_tbl';
mysqli_select_db($conn,'RUNOOB');
$retval =mysqli_query($conn,$sql);
if(!$retval)
{
die('無法讀取數(shù)據(jù):' .mysqli_error($conn));
}
echo'
echo'
教程 ID | 標(biāo)題 | 作者 | 提交日期 |
{$row[0]} | ".{$row[1]} | ".{$row[2]} | ".{$row[3]} | ".
mysqli_close($conn);
?>
輸出結(jié)果如下所示:
以上三個實例輸出結(jié)果都一樣。
在我們執(zhí)行完 SELECT 語句后,釋放游標(biāo)內(nèi)存是一個很好的習(xí)慣。
可以通過 PHP 函數(shù) mysqli_free_result() 來實現(xiàn)內(nèi)存的釋放。
以下實例演示了該函數(shù)的使用方法。
嘗試以下實例:
$dbhost ='localhost:3306'; // mysql服務(wù)器主機地址
$dbuser ='root'; // mysql用戶名
$dbpass ='123456'; // mysql用戶名密碼
$conn =mysqli_connect($dbhost,$dbuser,$dbpass);
if(!$conn)
{
die('連接失敗:' .mysqli_error($conn));
}
// 設(shè)置編碼,防止中文亂碼
mysqli_query($conn ,"set names utf8");
$sql ='SELECT runoob_id, runoob_title,
runoob_author, submission_date
FROM runoob_tbl';
mysqli_select_db($conn,'RUNOOB');
$retval =mysqli_query($conn,$sql);
if(!$retval)
{
die('無法讀取數(shù)據(jù):' .mysqli_error($conn));
}
echo'
echo'
教程 ID | 標(biāo)題 | 作者 | 提交日期 |
{$row[0]} | ".{$row[1]} | ".{$row[2]} | ".{$row[3]} | ".
mysqli_free_result($retval);
mysqli_close($conn);
?>
輸出結(jié)果如下所示: