//?這是因?yàn)槟銖馁Y源型結(jié)果集中獲取數(shù)據(jù)時(shí)只獲取了一次,?如果查詢?yōu)槎鄺l數(shù)據(jù)應(yīng)該迭代資源型結(jié)果集
甘德網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián),甘德網(wǎng)站設(shè)計(jì)制作,有大型網(wǎng)站制作公司豐富經(jīng)驗(yàn)。已為甘德近千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)公司要多少錢,請(qǐng)找那個(gè)售后服務(wù)好的甘德做網(wǎng)站的公司定做!
$r?=?mysql_query($sql);??//?你的結(jié)果集
$result?=?[];
while?(true)?{
$ary?=?mysql_fetch_assoc($r);??//?取出第一條數(shù)據(jù),?數(shù)據(jù)指針向后移動(dòng)一位
if?($ary)?{
$result[]?=?$ary;???//?存儲(chǔ)到結(jié)果數(shù)組中
}?else?{
break;??//?如果取出的結(jié)果為false,?則代表數(shù)據(jù)獲取完畢,?終止循環(huán)
}
}
echo?'pre';
print_r($result);???//?打印最終結(jié)果
echo?'/pre';
php中,.是連接符,改成這樣
$proname = "SELECT areaname FROM oepre_user_params JOIN oepre_hometown ON oepre_user_params".".`provinceid` = oepre_hometown.`areaid` WHERE userid=123;
先定義頭部信息,表示輸出一個(gè)excel。
然后再以table的形式把數(shù)據(jù)庫(kù)的信息循環(huán)的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?配置
//鏈接數(shù)據(jù)庫(kù)
$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";
//導(dǎo)出表頭(也就是表中擁有的字段)
while($row?=?mysql_fetch_array($res)){
$t_field[]?=?$row['Field'];?//Field中的F要大寫,否則沒有結(jié)果
echo?"th".$row['Field']."/th";
}
echo?"/tr";
//導(dǎo)出100條數(shù)據(jù)
$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";?
?
結(jié)果已經(jīng)有了,我就說下這句話的區(qū)別
mysql_select_db,字面上就能理解,選擇數(shù)據(jù)庫(kù)
去PHP手冊(cè)中可以發(fā)現(xiàn)該函數(shù)的返回值是bool,也就是布爾值
bool mysql_select_db ( string $database_name [, resource $ link_identifier ] )
只是確定操作是否成功
$result = mysql_query($sql, $link); // 執(zhí)行查詢語(yǔ)句
是執(zhí)行查詢語(yǔ)句,這時(shí)返回的是
resource mysql_query ( string $query [, resource $link_identifier ] )
資源符號(hào),通過var_dump($result)可以看到該變量的類型,不是數(shù)組
隨后通過mysql_fetch_array($result);獲取實(shí)際查詢語(yǔ)句所能獲取的數(shù)據(jù)
每次操作,返回一行數(shù)據(jù)
該操作會(huì)變相的移動(dòng)該資源的指針,PHP的概念里面沒有指針,但需要知道該函數(shù)可以多次執(zhí)行
概念和foreach一致
所以通過
while ($bookInfo = mysql_fetch_array($result)){
}
可以獲取所有的行數(shù)據(jù)
如果沒有數(shù)據(jù)會(huì)返回false,所以while會(huì)自動(dòng)停止循環(huán)
不管怎樣,在這里我總結(jié)了常用的PHP連接MySQL數(shù)據(jù)庫(kù)以及讀取寫入數(shù)據(jù)庫(kù)的方法,希望能夠幫到你,當(dāng)然也是作為我自己的一個(gè)回顧總結(jié)。
1.為了更好地設(shè)置數(shù)據(jù)連接,一般會(huì)將數(shù)據(jù)連接所涉及的值定義成變量.
?
1
2
3
4
5
6
7
$mysql_server_name='localhost'; //改成自己的mysql數(shù)據(jù)庫(kù)服務(wù)器
$mysql_username='root'; //改成自己的mysql數(shù)據(jù)庫(kù)用戶名
$mysql_password='123456'; //改成自己的mysql數(shù)據(jù)庫(kù)密碼
$mysql_database='Mydb'; //改成自己的mysql數(shù)據(jù)庫(kù)名
也可把以上變量放在一個(gè)文件里,可以隨時(shí)讓其他文件調(diào)用.
例如: 將以上內(nèi)容放在:db_config.php 那么在其他需要用到數(shù)據(jù)庫(kù)的頁(yè)面直接調(diào)用.
調(diào)用代碼:require("db_config.php");
2.連接數(shù)據(jù)庫(kù)
?
1
2
3
4
5
6
7
8
9
$conn=mysql_connect($mysql_server_name,$mysql_username,$mysql_password) or die("error connecting") ; //連接數(shù)據(jù)庫(kù)
mysql_query("set names 'utf8'"); //數(shù)據(jù)庫(kù)輸出編碼 應(yīng)該與你的數(shù)據(jù)庫(kù)編碼保持一致.南昌網(wǎng)站建設(shè)公司百恒網(wǎng)絡(luò)PHP工程師建議用UTF-8 國(guó)際標(biāo)準(zhǔn)編碼.
mysql_select_db($mysql_database); //打開數(shù)據(jù)庫(kù)
$sql ="select * from news "; //SQL語(yǔ)句
$result = mysql_query($sql,$conn); //查詢
3.讀取表中的內(nèi)容,這里我們用while,可以根據(jù)具體情況,用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寫入數(shù)據(jù)庫(kù),Mysql數(shù)據(jù)的寫入