本文目錄一覽:
- 1、php中mysqli處理查詢結果集的幾個方法
- 2、mysql的結果集返回php數組
- 3、程序員 PHP PHP和MySQL查詢的結果集
- 4、php mysql 獲取結果集的問題??
- 5、php如何遍歷mysql數據庫de,結果集
php中mysqli處理查詢結果集的幾個方法
$sql=”select * from user”; $result=$link-query($sql); $row=$result-fetch_all(MYSQLI_BOTH);//參數MYSQL_ASSOC、MYSQLI_NUM、MYSQLI_BOTH規定產生數組類型
$n=0; while($nmysqli_num_rows($result)){ echo “ID:”.$row[$n][“id”].”用戶名:”.$row[$n][“name”].”密碼:”.$row[$n][“password”].”br /”; $n++;
}
mysql的結果集返回php數組
$pdo = new PDO(‘mysql:host=localhost;dbname=’,’root’,”);
$data = $pdo-query(‘SELECT * FROM `user`’);
foreach($data as $v){
echo $v[‘id’];
}
正常情況下你還應該處理異常
try{
$pdo = new PDO(‘mysql:host=localhost;dbname=’,’root’,”);
$data = $pdo-query(‘SELECT * FROM `user`’);
foreach($data as $v){
print_r($v);
}
}catch(PDOException $e){
}
程序員 PHP PHP和MySQL查詢的結果集
?php
$conn=mysql_connect(“localhost”,”root”,””);
$select=mysql_select_db(“books”,$conn);
$query=”insert into computers(name,price,publish_data) “;
$query.=”values(‘JSP’,28.00,’2008-11-1′)”;
$query=”select * from computers”;
$result=mysql_query($query);
//以下是使用mysql_result()函數來獲取到查詢結果
$num=mysql_num_rows($result);
for($rows_count=0;$rows_count$num;$rows_count++){
echo “書名:”.mysql_result($result,$rows_count,”name”);
echo “價格:”.mysql_result($result,$rows_count,”price”);
echo “出版日期:”.mysql_result($result,$rows_count,”publish_data”).”br”;
}
//以下是使用mysql_fetch_row()函數來獲取到查詢結果
while($row=mysql_fetch_row($result))
{
echo “書號:”.$row[0].”br”;
echo “書名:”.$row[1].”br”;
echo “價格:”.$row[2].”br”;
echo “出版日期:”.$row[3].”br”;
echo “br”;
}
//以下是使用mysql_fetch_array()函數來獲取到查詢結果
while($row=mysql_fetch_array($result))
{
echo “書號:”.$row[0].”br”;
echo “書名:”.$row[1].”br”;
echo “價格:”.$row[“price”].”br”;
echo “出版日期:”.$row[“publish_data”].”br”;
echo “br”;
}
//mysql_fetch_assoc()同mysql_fetch_array($result,MYSQL_ASSOC)一樣
while($row = mysql_fetch_assoc($res)){
echo $row[‘price’].’::’.$row[‘publish_data’].」;
} //$row[0]不能取值
//以下是使用mysql_fetch_object()函數來獲取到查詢結果
while($row=mysql_fetch_object($result))
{
echo “書號:”.$row-id.”br”;
echo “書名:”.$row-name.”br”;
echo “價格:”.$row-price.”br”;
echo “出版日期:”.$row-publish_data.”br”;
echo “br”;
}
?
綜合比較
本節主要介紹了獲取查詢結果集的4個函數,此處對它們進行綜合比較。
● mysql_result():優點在於使用方便;而缺點在於功能少,一次調用只能獲取結果數據集中的一行記錄,對較大型的數據庫效率較低。
● mysql_fetch_row():優點在於執行效率在4種方法中最高;不足在於只能用數字作為屬性索引來獲得屬性值,在使用時非常容易出現混淆。
● mysql_fetch_array():執行效率同樣很高,同mysql_fetch_row()相差無幾,並且可以用屬性名方式直接獲取得屬性值,因此,在實際應用中最常用。
● mysql_fetch_object():採用了面向對象的思想,在設計思路上更為先進,如果讀者習慣於面向對象的思路來寫程序,則會很自然的選擇它。其次,該方法的優點還體現在,對於結構較為複雜的數據結果,在邏輯上顯得更為清晰。
後3個函數的共同點在於,都是取得當前行的數據,然後自動滑向後一行。有時候,希望控制滑動的行數,這是常常搭配使用的一個函數是mysql_data_seek(),其定義為:
int mysql_data_seek(int result_identifier,int row_number)
調用該函數可以在結果集中向後滑動row_number行,在下一次調用mysql_fetch_*函數時,讀取的將是向後滑動row_number行後的記錄。
php mysql 獲取結果集的問題??
首先看傳入的參數:第一個是resource類型的結果集,是mysql_query($sql)的返回值,第二個則是傳入SQL語句。參數類型不一樣。
再看函數體:mysql_fetch_assoc($result)接受的傳入類型是resource類型,他有兩種返回值的可能,一種是如果結果集存在行記錄,則返回一行記錄,是關聯數組類型的。如果沒有行記錄,即查詢結果為空,則返回布爾類型的false。
看第一種方法,while()循環是當判斷條件為true時執行,就是如果mysql_fetch_assoc($result)沒有返回false,即有數據庫查詢後有行記錄,就會把在循環體中把返回值$rs添加到數組$row中,$row將會是二維數組,鍵是int類型的0,1,2.。。。
而你說的第二個getOne()將只能返回一行查詢記錄,如果沒有記錄,將會返回false。
你可以用print_r()打印出getOne和getAll()的結果。
比如數據庫存在是id=1,name=aa ;id=2,name=bb兩條記錄,則getAll()打印出的是
Array([0]=Array(‘id’=1,’name’=’aa’),[1]=Array(‘id’=2,’name’=’bb’))
getOne打印出的是Array(‘id’=1,’name’=’aa’)[我初學PHP,不排除分析錯誤]
php如何遍歷mysql數據庫de,結果集
你好,這個簡單,假設用戶名字段是name,用戶提交的用戶名為$name,郵箱為$email
$sql=”select id from person where name=’$name’ or email=’$email'”;
執行後,判斷結果集,如果結果集不為空,則不允許註冊,為空的話,可以註冊。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/191024.html