在之前的文章中為大家帶來了《PHP中怎麼去連接MySQL資料庫? 》,其中詳細的介紹了PHP中怎樣去連接MySQL資料庫,這篇文章我們來看看PHP透過mysqli_select_db() 函數來選擇資料庫的相關知識。希望對大家有幫助!
上篇文章中講到了PHP透過mysqli_connect()
函數可以去連接MySQL資料庫,其中該函數有一個參數是對應資料庫的名稱,這個參數是可選參數,是可以省略的。如果將這個參數省略的話還需要在後面指定一個預設的資料庫,PHP中就可以透過mysqli_select_db()
函數來指定一個預設資料庫。那接下來我們就一起來看看這個函數的用法吧。
<strong><span style="font-size: 20px;">mysqli_select_db()</span></strong>
#函數
mysqli::select_db(string $dbname)#其中
$dbname表示的就是指定的資料庫名稱,另一種是以過程為導向的寫法,其語法格式如下:
mysqli_select_db(mysqli $link, string $dbname)其中需要注意的是:
#dbname 還是表示為指定的資料庫名稱,
$link 表示為透過mysqli_connect() 函數傳回的資料庫連線。
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $mysql = new Mysqli($host, $username, $password); if($mysql -> connect_errno){ die('数据库连接失败:'.$mysql->connect_errno); }else{ $mysql -> select_db($dbname); // 选择名为 test 的数据库 $sql = 'select name,sex,age from user'; // SQL 语句 $result = $mysql -> query($sql); // 执行上面的 SQL 语句 $data = $result -> fetch_all(); $mysql -> close(); } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>上述實例就是透過mysqli_select_db() 函數函數選擇了一個名為「test 」的資料庫,輸出結果如下: 上述範例中用的是物件導向的寫法,接下來我們看一下,過程導向的寫法是什麼樣的,範例如下:
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $link = @mysqli_connect($host, $username, $password); if($link){ mysqli_select_db($link, $dbname); // 选择名为 test 的数据库 $sql = 'select name,sex,age from user'; // SQL 语句 $result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果 $data = mysqli_fetch_all($result); // 从结果集中获取所有数据 mysqli_close($link); }else{ echo '数据库连接失败!'; } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>上述範例中,兩個寫入方法的差異並不大,輸出的結果也是相同的。由此我們便透過mysqli_select_db() 函數來指定一個預設資料庫。那接下來我們來看看mysqli_query() 函數,它是做什麼的又是怎麼使用的呢?
<strong>mysqli_query()<span style="font-size: 20px;"></span></strong>
# 函數
mysqli_query() 函數了,函數的語法格式如下:
mysqli::query( string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )這是物件導向的寫法,其中需要注意的是:
$query 表示要執行的SQL 語句;
$resultmode 是選用參數,用來修改函數的行為。
mysqli_query( mysqli $link , string $query [, int $resultmode = MYSQLI_STORE_RESULT ] )其中需要注意的是:
$link 表示由mysqli_connect() 函數傳回的資料庫連線;
$query 表示要執行的SQL 語句;
$resultmode 是可選參數,用來修改函數的行為。
mysql> select * from user;---- -------- ------ ------
| id | name | age | sex |
---- -------- ------ ------
| 1 | 壹壹 | 21 | 男|
| 2 | 貳貳 | 22 | 男 |
| 3 | 叁叁 | 23 |肆女 |##| 4| 23 |肆女 ----- ------ ------
4 rows in set (0.00 sec)
首先我們先來看一下物件導向的寫法,範例如下:
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $mysql = new Mysqli($host, $username, $password, $dbname); if($mysql -> connect_errno){ die('数据库连接失败:'.$mysql->connect_errno); }else{ $mysql -> set_charset('UTF-8'); // 设置数据库字符集 $sql = 'select name,sex,age from user'; // SQL 语句 $result = $mysql -> query($sql); // 执行上面的 SQL 语句 $data = $result -> fetch_all(); $mysql -> close(); } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
輸出結果:
#上述是物件導向的寫法,過程導向的寫法如下所示:
<?php $host = 'localhost'; $username = 'root'; $password = 'root'; $dbname = 'test'; $link = @mysqli_connect($host, $username, $password, $dbname); if($link){ $sql = 'select name,sex,age from user'; // SQL 语句 $result = mysqli_query($link, $sql); // 执行 SQL 语句,并返回结果 $data = mysqli_fetch_all($result); // 从结果集中获取所有数据 mysqli_close($link); }else{ echo '数据库连接失败!'; } echo '<pre class="brush:php;toolbar:false">'; print_r($data); ?>
輸出結果與上述範例中輸出結果相同,由此我們便完成了透過mysqli_query() 函數對資料庫的查詢。
大家如果有興趣的話,可以點選《PHP影片教學》進行更多關於PHP知識的學習。
以上是PHP中mysqli_select_db與mysqli_query函數的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!