連接到一個?url?地址為localhost?、?端口為?3306?的mysql服務器上。mysql服務器的帳號是"root",密碼是"9999"。mysql?服務器上有一個數據庫?ok?,?數據庫里有一個表?abc。表?abc?一共為兩列,列名分別是?"id"?和?"name"?,將?abc?里的所有數據讀出來。
陵水黎族網站建設公司創新互聯建站,陵水黎族網站設計制作,有大型網站制作公司豐富經驗。已為陵水黎族近千家提供企業網站建設服務。企業網站搭建\外貿網站建設要多少錢,請找那個售后服務好的陵水黎族做網站的公司定做!
??
$dbh?=?@mysql_connect("localhost:3306","root","9999");?
/*?定義變量dbh?,?mysql_connect()函數的意思是連接mysql數據庫,?"@"的意思是屏蔽報錯?*/?
if(!$dbh){die("error");}?
/*?die()函數的意思是將括號里的字串送到瀏覽器并中斷PHP程式?(Script)。括號里的參數為欲送出的字串。?*/?
@mysql_select_db("ok",?$dbh);?
/*?選擇mysql服務器里的一個數據庫,這里選的數據庫名為?ok?*/?
$q?=?"SELECT?*?FROM?abc";?
/*?定義變量q,?"SELECT?*?FROM?abc"是一個SQL語句,意思是讀取表abc中的數據?*/?
??
br?/?
!--=========?方法一?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
/*?定義變量?rs?,函數mysql_query()的意思是:送出?query?字串供?MySQL?做相關的處理或者執行.由于php是從右往左執行的,所以,rs的值是服務器運行mysql_query()函數后返回的值?*/?
if(!$rs){die("Valid?result!");}?
echo?"table";?
echo?"trtdID/tdtdName/td/tr";?
while($row?=?mysql_fetch_row($rs))?echo?"trtd$row[0]/tdtd$row[1]/td/tr";?
/*?定義量變(數組)row,并利用while循環,把數據一一寫出來.??
函數mysql_fetch_row()的意思是:將查詢結果$rs單列拆到陣列變數中.??
$row[0]?和?$row[1]?的位置可以換*/?
echo?"/table";?
??
br?/?
!--=========?方法二?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_object($rs))?echo?"$row-id?$row-name?br?/";?
/*?id和name可以換位置?*/?
??
br?/?
!--=========?方法三?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
while($row?=?mysql_fetch_array($rs))?echo?"$row[id]?$row[name]?br?/";?
/*?id和name可以換位置?*/?
??
!--=========?方法三最快?=========--?
??
@mysql_close($dbh);?
/*?關閉到mysql數據庫的連接?*/?
?
function digui($uid,$gid){
mysql_connect()
mysql_query(編碼)
$r=mysql_query("select * from 表 wher id=".$uid)
$r=mysql_fetch_assoc($r);
$r=$r[0];
mysql_cloes()
if($r['groupid']==4)
return $r
else
digui($r['upid'],4)
}
digui(1,4);懂了沒,個別函數自己寫參數,還不快謝謝我!!
您好,可參考如下思路,然后結合自己的業務邏輯即可:
?php
//首先鏈接數據庫
$conn = mysql_connect('主機名','數據庫登陸用戶名','數據庫登陸密碼') or die('鏈接數據庫失敗');
//選擇數據庫
mysql_select_db( 'test',$conn );
//假設test數據庫中有文章表,article,表有字段 id,title,create_time 那么可采用如下代碼循環讀出里面數據
//進行SQL查詢-查詢article中的數據并按照id倒序排列
$sql = 'SELECT *FROM article ORDER BY id DESC';
//獲取執行結果
$result = mysql_query( $sql,$conn );
if( !$result ) die( '執行SQL語句失敗' );
//循環讀出結果集中的數據
while( $row = mysql_fetch_assoc( $result ) )
{
//輸出數據
echo $row['id'].'--'.$row['title'].'--'.$row['create_time'].'br/';
}
//如果test中有三條數據,比如下列數據
//id title create_time
//1 文章標題1 2014/10/31 14:20
//2 文章標題2 2014/11/01 15:12
//3 文章標題3 2014/11/03 12:10
//那么執行代碼后,網頁應顯示如下:
//3--文章標題3--2014/11/03 12:10
//2--文章標題2--2014/11/01 15:12
//1--文章標題1--2014/10/31 14:20
?
這當然是不行的了,上面的告訴你的也是錯誤的,因為原因在于你循環的時候進行了數據庫的查詢,所以每次都是新的數據,指針當然要從第一條開始了。
所以不是你的循環的錯誤,而是你數據庫查詢代碼位置的錯誤
要這樣寫
$num=mysql_query("select
*
from
china_city
where
parentid=0");
$n=
mysql_num_rows
($num);
for($i=1;$i=$n;$i++){
${"row".$i}=mysql_fetch_array($num);
echo
$i."
".${"row".$i}['city']."
";
}
一般都是用foreach或while寫的
foreach(mysql_fetch_array($num)
as
$key=$value){}
while($row
=mysql_fetch_array($num)){}
根據你的語義描述可以用這樣的方法來查詢
$arr?=?["1111111","12345","qwe"];
$result?=?[];
foreach?($arr?as?$val){
$result[]?=?$tail_fibers-distinct?(?true?)-where("type='$val'")-select();
}
不知道你用的是哪個SQL組件,但是大體都會提供類似?-whereIn('type',$arr) 這樣的方法,等于直接用SQL的IN語句進行多個值查詢,效率更高
SQL IN 操作符
當前題目:php循環查尋數據庫方法 php查詢數據
文章網址:http://www.yijiale78.com/article42/hgochc.html
成都網站建設公司_創新互聯,為您提供關鍵詞優化、網站改版、響應式網站、手機網站建設、網站排名、網站內鏈
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯