本文目錄一覽:
- 1、php從mysql中輸出結果:
- 2、程序員 PHP PHP和MySQL查詢的結果集
- 3、php獲取mysql更新結果
- 4、php查詢mysql的數值結果怎麼相加?
- 5、php mysql 獲取結果集的問題??
- 6、PHP查詢MYSQL的結果如何顯示出來?
php從mysql中輸出結果:
?php
$setarr = array(4=array(‘id’=46,’typename’=’AAA’),5=array(‘id’=46,’typename’=’BBB’));
$result = $keys = ”;
foreach($setarr as $key=$val){
$result.= $keys.$val[‘typename’];
$keys = ‘,’;
}
$setarr[4][‘typename’] = $result;
array_pop($setarr);
print_r($setarr);
你這個問題真的很奇怪!!!!
程序員 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更新結果
php有一個方法是mysql_affected_rows(),這個方法的意思是獲取上一次操作數據庫的所影響的行數
可以使用這個方法來判斷是否update語句是否執行成功。
直接使用mysql_query($sql),個人覺得其實也可以的,但是前提是數據庫類型是那種自動提交類型,像MyISAM 而不是需要手動提交的類型,像:InnoDB
個人理解:自動提交類型會直接處理$sql語句,只要這個語句沒有錯誤,那麼就一定是執行成功的。並且一定是已經執行了,但是需要手動提交的類型就算這個SQL沒有錯誤,如果你沒有手動提交那麼這個語句是不會執行的,那麼你的表中的數據其實沒有改變,這個盡針對於非select語句。
php查詢mysql的數值結果怎麼相加?
select sum(“金額字段”) as cmoney from 表 where 1;
然後你輸出cmoney這個就是相加的效果。
還有一種比較差點的方法就是:
1、select 金額字段 from 表 where 1;
2、獲取你得到的所有信息,然後foreach 把所有的金額相加就行,
實例:$sql = “select money from cg_money where 1”;
$query = mysql_query($sql);
$m = 0;
while($rs = mysql_fetch_array($sql)){
$m = $m+$rs[‘money’];
}
echo $m;這個也是可以獲取所有的money的,就是費事了點,還是上面的呢個方法好滴,也就是樓上的呢個方法
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的結果如何顯示出來?
發送($sql,$cnn)有個連接$cnn數據庫。
最後一句不要,用w~~循環。
望你重看另外的教程。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/248681.html