實(shí)例講解php數(shù)據(jù)訪問
本文實(shí)例為大家分享了兩種php數(shù)據(jù)訪問方式,大家可以進(jìn)行比較,分析兩種方式的異同,最后為大家提供了一個(gè)小練習(xí),具體內(nèi)容如下
方式一:已過時(shí),只做了解
1.造一個(gè)連接(建立通道)
$db=mysql_connect("localhost","root","123"); //括號(hào)內(nèi)是“服務(wù)器地址”,“用戶名”,“密碼”
2.選擇操作哪個(gè)數(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.造一個(gè)連接對(duì)象:
$db=new MySQLi("localhost","root","123","mydb") //括號(hào)內(nèi)的內(nèi)容依次為“服務(wù)器地址”,“用戶名”,“密碼”,“數(shù)據(jù)庫名稱”
2.判斷連接是否出錯(cuò):
2.1 mysqli_connect_error(); //代表連接出錯(cuò)
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é)果集對(duì)象,如果執(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());
//以對(duì)象的方式返回一行數(shù)據(jù)
var_dump($result->fetch_object());
}
練習(xí):
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>代號(hào)</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)容,希望對(duì)大家學(xué)習(xí)php程序設(shè)計(jì)有所幫助。
相關(guān)文章
Zend Framework教程之Resource Autoloading用法實(shí)例
這篇文章主要介紹了Zend Framework教程之Resource Autoloading用法,結(jié)合實(shí)例形式分析了Resource Autoloading實(shí)現(xiàn)自動(dòng)加載的原理及具體使用方法,需要的朋友可以參考下2016-03-03
PHP使用php-resque庫配合Redis實(shí)現(xiàn)MQ消息隊(duì)列的教程
這篇文章主要介紹了PHP使用php-resque庫配合Redis實(shí)現(xiàn)MQ消息隊(duì)列的教程,將展示php-resque的安裝部署及一個(gè)Worker隊(duì)列的運(yùn)行過程,需要的朋友可以參考下2016-06-06
微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息功能
這篇文章主要介紹了微信公眾號(hào)之主動(dòng)給用戶發(fā)送消息,需要的朋友可以參考下2019-06-06
Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作示例
這篇文章主要介紹了Yii2.0框架模型添加/修改/刪除數(shù)據(jù)操作,結(jié)合實(shí)例形式分析了Yii2.0使用模型操作數(shù)據(jù)的添加、修改、刪除相關(guān)實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-07-07
thinkphp3.2實(shí)現(xiàn)上傳圖片的控制器方法
這篇文章主要介紹了thinkphp3.2實(shí)現(xiàn)上傳圖片的控制器方法,結(jié)合實(shí)例形式分析了thinkPHP圖片文件上傳相關(guān)的文件類型判斷,文件路徑及相關(guān)屬性操作技巧,需要的朋友可以參考下2016-04-04
幾道坑人的PHP面試題 試試看看你會(huì)不會(huì)也中招
這篇文章主要介紹了幾道坑人的PHP面試題,試試看看你會(huì)不會(huì)也中招,這些題目都用了一些障眼法,需要你有一雙火眼金睛哦,需要的朋友可以參考下2014-08-08

