php基礎(chǔ)之連接mysql數(shù)據(jù)庫和查詢數(shù)據(jù)
連接數(shù)據(jù)庫,有三種方法
1. 常規(guī)方式:
$con=mysql_connect($dbhostip,$username,$userpassword) or die("Unable to connect to the MySQL!"); $db = mysql_select_db($dbdatabasename,$con); //執(zhí)行語句 $qres=mysql_query("SELECT id,GoodsName FROM user"); //提取一條數(shù)據(jù) 11 $row=mysql_fetch_row($result);//mysql_fetch_row只能提取出查詢結(jié)果的第一條記錄 //提取多條記錄 $reslist = array(); $i=0; while($row = mysql_fetch_row($res)){ $reslist[$i] = $row; $i++; } mysql_close($con);
//mysql_fetch_row 提取的結(jié)果是沒有查詢中的字段名了(也就是沒有鍵id,GoodsName,只有值),如下圖:
//mysql_fetch_assoc 提取的結(jié)果有鍵值,如下圖:
//mysql_fetch_array提取的結(jié)果有鍵值,是前面兩種的綜合,如下圖:
在mysql_connect()、mysql_select_db()等函數(shù)之前使用@(錯誤控制運算符),可以忽略掉系統(tǒng)產(chǎn)生的錯誤信息,然后我們用die()來自定義錯誤信息;
對于mysql_query()函數(shù)的返回值,如果執(zhí)行的語句有返回值(如SELECT、SHOW、DESCRIBE等),則返回相應(yīng)數(shù)據(jù)(成功時)或FALSE(失敗時);如果執(zhí)行的語句沒有返回值(如DELETE、DROP、INSERT、UPDATE等),則返回TRUE(成功時)或FALSE(失敗時)。
2. 面向?qū)ο笮问?/p>
$db=new mysqli($dbhostip,$username,$userpassword,$dbdatabasename); if(mysqli_connect_error()){ echo 'Could not connect to database.'; exit; } $result=$db->query("SELECT id,GoodsName FROM user"); $row=$result->fetch_row();
這里用到的是mysqli,意思就是mysql的擴展,既可以通過面向過程的方式也可以通過面向?qū)ο蟮姆绞脚c數(shù)據(jù)庫進(jìn)行交互
3. PDO方法
PDO其實是PHP Database Objects的縮寫,中文即PHP數(shù)據(jù)庫對象。它提供了一種統(tǒng)一的PHP與數(shù)據(jù)庫交互的方法。
它的優(yōu)勢在于:只要正確提供數(shù)據(jù)源,余下對于數(shù)據(jù)庫的基本操作都是一樣的。也就是說,同一段代碼既可以同MySQL交互,也可以和SQLite3交互,當(dāng)然也可以和PostgreSQL進(jìn)行交互,前提是你提供了正確的數(shù)據(jù)源。
連接MySQL的代碼:
$dsn='mysql:host='.$dbhost.';dbname='.$dbdatabase.';' $dbh=new PDO($dsn,$username,$userpass);
SQLite3:
$dsn='sqlite3:"D:\sqlite\user.db"'; $dbh=new PDO($dsn); PostgreSQL: $dsn='pgsql:host='.$dbhost.' port=5432 dbname='.$dbdatabase.' user='.$username.' password='.$userpass; $dbh=new PDO($dsn);
操作 :
$stmt=$dbh->query('SELECT id,name FROM user'); $row=$stmt->fetch();
相關(guān)文章
Mysql使用存儲過程快速添加百萬數(shù)據(jù)的示例代碼
這篇文章主要介紹了Mysql使用存儲過程快速添加百萬數(shù)據(jù),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-08-08MySQL 5.7.14 net start mysql 服務(wù)無法啟動-“NET HELPMSG 3534” 的奇怪問題
這篇文章主要介紹了MySQL 5.7.14 net start mysql 服務(wù)無法啟動-“NET HELPMSG 3534” 的奇怪問題,需要的朋友可以參考下2016-12-12MySQL之MHA高可用配置及故障切換實現(xiàn)詳細(xì)部署步驟
這篇文章主要介紹了MySQL之MHA高可用配置及故障切換實現(xiàn)詳細(xì)部署步驟,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-03-03