//?這是因為你從資源型結果集中獲取數據時只獲取了一次,?如果查詢為多條數據應該迭代資源型結果集
甘德網站建設公司創新互聯,甘德網站設計制作,有大型網站制作公司豐富經驗。已為甘德近千家提供企業網站建設服務。企業網站搭建\成都外貿網站建設公司要多少錢,請找那個售后服務好的甘德做網站的公司定做!
$r?=?mysql_query($sql);??//?你的結果集
$result?=?[];
while?(true)?{
$ary?=?mysql_fetch_assoc($r);??//?取出第一條數據,?數據指針向后移動一位
if?($ary)?{
$result[]?=?$ary;???//?存儲到結果數組中
}?else?{
break;??//?如果取出的結果為false,?則代表數據獲取完畢,?終止循環
}
}
echo?'pre';
print_r($result);???//?打印最終結果
echo?'/pre';
php中,.是連接符,改成這樣
$proname = "SELECT areaname FROM oepre_user_params JOIN oepre_hometown ON oepre_user_params".".`provinceid` = oepre_hometown.`areaid` WHERE userid=123;
先定義頭部信息,表示輸出一個excel。
然后再以table的形式把數據庫的信息循環的echo出來。
?php?
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=xls_region.xls");
$cfg_dbhost?=?'localhost';
$cfg_dbname?=?'testdb';
$cfg_dbuser?=?'root';
$cfg_dbpwd?=?'root';
$cfg_db_language?=?'utf8';
//?END?配置
//鏈接數據庫
$link?=?mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd);
mysql_select_db($cfg_dbname);
//選擇編碼?
mysql_query("set?names?".$cfg_db_language);
//users表
$sql?=?"desc?users";?
$res?=?mysql_query($sql);
echo?"tabletr";
//導出表頭(也就是表中擁有的字段)
while($row?=?mysql_fetch_array($res)){
$t_field[]?=?$row['Field'];?//Field中的F要大寫,否則沒有結果
echo?"th".$row['Field']."/th";
}
echo?"/tr";
//導出100條數據
$sql?=?"select?*?from?users?limit?100";
$res?=?mysql_query($sql);
while($row?=?mysql_fetch_array($res)){
echo?"tr";
foreach($t_field?as?$f_key){
echo?"td".$row[$f_key]."/td";
}
echo?"/tr";
}
echo?"/table";?
?
結果已經有了,我就說下這句話的區別
mysql_select_db,字面上就能理解,選擇數據庫
去PHP手冊中可以發現該函數的返回值是bool,也就是布爾值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是確定操作是否成功
$result = mysql_query($sql, $link); // 執行查詢語句
是執行查詢語句,這時返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
資源符號,通過var_dump($result)可以看到該變量的類型,不是數組
隨后通過mysql_fetch_array($result);獲取實際查詢語句所能獲取的數據
每次操作,返回一行數據
該操作會變相的移動該資源的指針,PHP的概念里面沒有指針,但需要知道該函數可以多次執行
概念和foreach一致
所以通過
while ($bookInfo = mysql_fetch_array($result)){
}
可以獲取所有的行數據
如果沒有數據會返回false,所以while會自動停止循環
不管怎樣,在這里我總結了常用的PHP連接MySQL數據庫以及讀取寫入數據庫的方法,希望能夠幫到你,當然也是作為我自己的一個回顧總結。
1.為了更好地設置數據連接,一般會將數據連接所涉及的值定義成變量.
?
1
2
3
4
5
6
7
$mysql_server_name='localhost'; //改成自己的mysql數據庫服務器
$mysql_username='root'; //改成自己的mysql數據庫用戶名
$mysql_password='123456'; //改成自己的mysql數據庫密碼
$mysql_database='Mydb'; //改成自己的mysql數據庫名
也可把以上變量放在一個文件里,可以隨時讓其他文件調用.
例如: 將以上內容放在:db_config.php 那么在其他需要用到數據庫的頁面直接調用.
調用代碼:require("db_config.php");
2.連接數據庫
?
1
2
3
4
5
6
7
8
9
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //連接數據庫
mysql_query("set names 'utf8'"); //數據庫輸出編碼 應該與你的數據庫編碼保持一致.南昌網站建設公司百恒網絡PHP工程師建議用UTF-8 國際標準編碼.
mysql_select_db($mysql_database); //打開數據庫
$sql ="select * from news "; //SQL語句
$result = mysql_query($sql,$conn); //查詢
3.讀取表中的內容,這里我們用while,可以根據具體情況,用for 或其他的.
?
1
2
3
4
5
6
7
8
9
10
11
while($row = mysql_fetch_array($result))
{
echo "div style=\"height:24px; line-height:24px; font-weight:bold;\""; //排版代碼
echo $row['Topic'] . "br/";
echo "/div"; //排版代碼
}
4.php寫入數據庫,Mysql數據的寫入
文章名稱:數據庫輸出編碼語句php,數據庫字段自動編碼
文章來源:http://vcdvsql.cn/article44/hsppee.html
成都網站建設公司_創新互聯,為您提供網頁設計公司、網站設計、微信公眾號、標簽優化、企業建站、靜態網站
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯