實例講解php數(shù)據(jù)訪問
本文實例為大家分享了兩種php數(shù)據(jù)訪問方式,大家可以進行比較,分析兩種方式的異同,最后為大家提供了一個小練習,具體內(nèi)容如下
方式一:已過時,只做了解
1.造一個連接(建立通道)
$db=mysql_connect("localhost","root","123"); //括號內(nèi)是“服務(wù)器地址”,“用戶名”,“密碼”
2.選擇操作哪個數(shù)據(jù)庫
mysql_select_db("mydb","$db");
3.寫sql語句
$sql="select * from Info";
4.執(zhí)行sql語句
$result=mysql_query($sql); //query 有查詢之意
5.從結(jié)果集($result)中取數(shù)據(jù)
$row=mysql_fetch_row($result); //每執(zhí)行一次讀取一行數(shù)據(jù) $row1=mysql_fentch_row($result); //執(zhí)行第二條數(shù)據(jù) var_dump($row); //讀取全部數(shù)據(jù)用循環(huán): while($row=mysql_fetch_row($result)) { var_dump($row); }
方法二:面向?qū)ο?/p>
1.造一個連接對象:
$db=new MySQLi("localhost","root","123","mydb") //括號內(nèi)的內(nèi)容依次為“服務(wù)器地址”,“用戶名”,“密碼”,“數(shù)據(jù)庫名稱”
2.判斷連接是否出錯:
2.1 mysqli_connect_error(); //代表連接出錯
2.2
if(mysqli_connect_erroe())
{
echo "連接失敗!";
exit(); //退出程序
}
2.3 !mysqli_connect_error or die ("連接失?。?); //“or”前面代表連接正確,后面代表連接失敗
3. 寫sql語句:
$sql="select * from nation";
4. 執(zhí)行sql語句:如果執(zhí)行成功返回結(jié)果集對象,如果執(zhí)行失敗返回false
$result=$db->query($sql);
5.從結(jié)果集中讀取數(shù)據(jù),先判斷是否有數(shù)據(jù)
if($result) { //返回一行數(shù)據(jù)的索引數(shù)組,每次執(zhí)行返回一條數(shù)據(jù) var_dump($result->fetch_row()); while($row=$result->fetch_row) { var_dump($row); } //返回一行數(shù)據(jù)的關(guān)聯(lián)數(shù)組,每次執(zhí)行返回一條數(shù)據(jù) var_dump($result->fetch_row()); //通過二維數(shù)組返回所有數(shù)據(jù) var_dump($result->fetch_all()); //以對象的方式返回一行數(shù)據(jù) var_dump($result->fetch_object()); }
練習:
1.以下拉菜單的形式在頁面顯示nation表
$db=new MySQLi("localhost","root","","mydb"); !mysqli_connection_erroe() or die ("連接失?。?); $sql="select*from nation"; $result=$db->query($sql); if($result) { $att=$result->fetch_all(); echo "<select>"; foreach ($att as $value) { echo "<option value='{$value[0]}'>{$value[1]}</option>"; } echo "</select>"; }
2. 把Info表查出來,以表格的形式顯示
$db=new MySQLi("localhost","root","","mydb"); !mysqli_connecton_error() or die("連接失??!"); $sql="select * from info"; $result=$bd->query($sql); if($result) { $att=$result->fetch_all(); echo "<table border='1' width='100%' cellpadding='0' cellspacing='0'>"; echo "<tr><td>代號</td><td>姓名</td><td>性別</td><td>民族</td><td>生日</td></tr>"; foreach ($att as $value) { echo "<tr> <td>{$value[0]}</td> <td>{$value[1]}</td> <td>{$value[2]}</td> <td>{$value[3]}</td> <td>{$value[4]}</td> </tr>"; } echo "</table>"; } //也可以用for循環(huán) if($result) { $arr=$result->fetch_all(); echo "<table border='1' width='100%' cellpadding='0' cellspacing='0'>"; echo "<tr><td>Code</td><td>Name</td><td>Sex</td><td>Nation</td><td>Birthday</td></tr>"; for($i=0;$i<count($arr);$i++) { echo "<tr> <td>{$arr[$i][0]}</td> <td>{$arr[$i][1]}</td> <td>{$arr[$i][2]}</td> <td>{$arr[$i][3]}</td> <td>{$arr[$i][4]}</td> </tr>"; } echo "</table>"; }
以上就是本文的全部內(nèi)容,希望對大家學習php程序設(shè)計有所幫助。
相關(guān)文章
詳解Laravel5.6通過路由進行API版本控制的簡單方法
這篇文章主要介紹了詳解Laravel5.6通過路由進行API版本控制的簡單方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2020-01-01php結(jié)合GD庫簡單實現(xiàn)驗證碼的示例代碼
這篇文章主要介紹了php結(jié)合GD庫簡單實現(xiàn)驗證碼的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-01-01PHP實現(xiàn)Javascript中的escape及unescape函數(shù)代碼分享
這篇文章主要介紹了PHP實現(xiàn)Javascript中的escape及unescape函數(shù)代碼分享,本文給出兩個實現(xiàn)版本,需要的朋友可以參考下2015-02-02利用php實現(xiàn)一周之內(nèi)自動登錄存儲機制(cookie、session、localStorage)
本篇文章主要介紹了利用php實現(xiàn)一周之內(nèi)自動登錄存儲機制(cookie、session、localStorage),可以實現(xiàn)一周之內(nèi)免費登陸,感興趣的小伙伴們可以參考一下。2016-10-10