php查詢mysql文件的方法:首先使用“mysql_connect”函數(shù)連接mysql數(shù)據(jù)庫;然后通過“mysql_select_db”選擇指定的mysql數(shù)據(jù)庫;最后通過“mysql_query”方法實(shí)現(xiàn)查詢即可。
推薦教程:《php mysql》
PHP連接MySQL數(shù)據(jù)庫
連接數(shù)據(jù)庫
<?php header('COntent-Type:text/html;charset=utf-8');//設(shè)置頁面編碼,如果文件是gbk編碼,則charset也應(yīng)用gbk //@表示如果出錯(cuò)了,不要報(bào)錯(cuò),直接忽略 //參數(shù):服務(wù)器地址,用戶名和密碼 echo (!!@mysql_connect('localhost','root','*****'));//1 ?>
我們用雙感嘆號(hào)!!來將資源句柄轉(zhuǎn)換成布爾值,正確輸出1,錯(cuò)誤則輸出錯(cuò)誤信息。而如果前面加了@符號(hào),則忽略錯(cuò)誤信息,不會(huì)輸出錯(cuò)誤信息。
對(duì)于錯(cuò)誤消息的處理,我們可以使用mysql_error()函數(shù)來輸出錯(cuò)誤消息:
mysql_connect('localhost','root','****') or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error());//對(duì)于密碼錯(cuò)誤的提示:數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:Access denied for user 'root'@'localhost' (using password: YES)
die() 函數(shù)輸出一條消息,并退出當(dāng)前腳本。該函數(shù)是 exit() 函數(shù)的別名。
數(shù)據(jù)庫連接參數(shù),可以用常量來存儲(chǔ),這樣就不能被隨意修改,更加安全。
<meta charset="utf-8"> <?php //定義常量參數(shù) define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//密碼 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); echo $connect;//Resource id #2 ?>
值得注意的是,mysql_connect()括號(hào)內(nèi)的常量可不能加引號(hào),否則肯定出錯(cuò)。
選擇指定的數(shù)據(jù)庫
<?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//密碼 define('DB_NAME','trigkit');//在phpmyadmin創(chuàng)建一個(gè)名為trigkit的數(shù)據(jù)庫 //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)庫連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//將表名字故意寫錯(cuò),提示的錯(cuò)誤信息:數(shù)據(jù)庫連接錯(cuò)誤,錯(cuò)誤信息:Unknown database 'trigkt' ?>
通常不需要使用 mysql_close(),因?yàn)橐汛蜷_的非持久連接會(huì)在腳本執(zhí)行完畢后自動(dòng)關(guān)閉
mysql_select_db(database,connection):選擇MySQL數(shù)據(jù)庫
獲取記錄集
<meta charset="utf-8"> <?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//密碼 define('DB_NAME','trigkit'); //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); //從數(shù)據(jù)庫里把表的數(shù)據(jù)提出來(獲取記錄集) $query = "SELECT * FROM class";//在trigkit數(shù)據(jù)庫中新建一張'表' $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error());//故意將表名寫錯(cuò):SQL錯(cuò)誤,錯(cuò)誤信息:Table 'trigkit.clas' doesn't exist ?>
mysql_query() 函數(shù)執(zhí)行一條 MySQL 查詢。
輸出數(shù)據(jù)
<meta charset="utf-8"> <?php define('DB_HOST','localhost'); define('DB_USER','root'); define('DB_PWD','345823');//密碼 define('DB_NAME','trigkit'); //連接數(shù)據(jù)庫 $connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('數(shù)據(jù)庫連接失敗,錯(cuò)誤信息:'.mysql_error()); //選擇指定數(shù)據(jù)庫,設(shè)置字符集 mysql_select_db(DB_NAME,$connect) or die('數(shù)據(jù)表連接錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); mysql_query('SET NAMES UTF8') or die('字符集設(shè)置出錯(cuò)'.mysql_error()); //從數(shù)據(jù)庫里把表的數(shù)據(jù)提出來(獲取記錄集) $query = "SELECT * FROM class"; $result = mysql_query($query) or die('SQL錯(cuò)誤,錯(cuò)誤信息:'.mysql_error()); print_r(mysql_fetch_array($result,MYSQL_ASSOC)); ?>
釋放結(jié)果集資源(僅需要在考慮到返回很大的結(jié)果集時(shí)會(huì)占用多少內(nèi)存時(shí)調(diào)用。)
<?php mysql_free_result($result); ?>