本文實例為大家分享了兩種php數據訪問方式,大家可以進行比較,分析兩種方式的異同,最後為大家提供了一個小練習,具體內容如下
方式一:已過時,只做了解
1.造一個連接(建立通道)
$db=mysql_connect("localhost","root","123"); //括號內是“服務器地址”,“用戶名”,“密碼”
2.選擇操作哪個數據庫
mysql_select_db("mydb","$db");
3.寫sql語句
$sql="select * from Info";
4.執行sql語句
$result=mysql_query($sql); //query 有查詢之意
5.從結果集($result)中取數據
$row=mysql_fetch_row($result); //每執行一次讀取一行數據 $row1=mysql_fentch_row($result); //執行第二條數據 var_dump($row); //讀取全部數據用循環: while($row=mysql_fetch_row($result)) { var_dump($row); }
方法二:面向對象
1.造一個連接對象:
$db=new MySQLi("localhost","root","123","mydb") //括號內的內容依次為“服務器地址”,“用戶名”,“密碼”,“數據庫名稱”
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. 執行sql語句:如果執行成功返回結果集對象,如果執行失敗返回false
$result=$db->query($sql);
5.從結果集中讀取數據,先判斷是否有數據
if($result) { //返回一行數據的索引數組,每次執行返回一條數據 var_dump($result->fetch_row()); while($row=$result->fetch_row) { var_dump($row); } //返回一行數據的關聯數組,每次執行返回一條數據 var_dump($result->fetch_row()); //通過二維數組返回所有數據 var_dump($result->fetch_all()); //以對象的方式返回一行數據 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循環 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>"; }
以上就是本文的全部內容,希望對大家學習php程序設計有所幫助。