從查詢結(jié)果取值,需要遍歷結(jié)果集!示例如下:
網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了廊坊免費建站歡迎大家使用!
$rs?=?mysql_query("select?*?from?www_liu?where?xx='$xx'?and?yy='$yy'");
echo?"查詢信息如下:br/";
while($row?=?mysql_fetch_array($rs))
{
echo?$row['字段2']?.?"====="?.?$row['字段三'];
echo?"br?/";
}
//關(guān)閉數(shù)據(jù)庫連接
//mysql_close();
你剛才的截圖的:$db=new
mysqli(.....);
new是初始化mysqli類的意思
你用的是類對吧
你用的是mysqli類,如果你需要把查詢結(jié)果讀到數(shù)組,你是不可以使用mysqli_fetch_array等函數(shù)的(因為類會把函數(shù)封裝,過程函數(shù)是沒辦法用的)。
你只能使用你這個類里面的函數(shù),去看看這個類應(yīng)該有把查詢結(jié)果讀到數(shù)組的函數(shù)的。
----------------------------------------------------------------------------------------------------------------------
如果你用的是過程,那么應(yīng)該這么寫:
?php
mysql_connect('127.0.0.1','root','123456');
//連接數(shù)據(jù)庫,主機名127.0.0.1,用戶名root,密碼123456
mysql_select_db('phpmyadmin');
//選擇數(shù)據(jù)庫phpmyadmin
$user=$_POST['uid'];
//把post的uid保存為user變量
$sql="select
*
from
userinfo
where
username='$user'";
//定義sql語句
$query=mysql_query($sql);
//執(zhí)行,并保存為變量
$row=mysql_fetch_array($query);
//把執(zhí)行結(jié)果保存為變量
echo
$row['sex'];
//輸出一個做測試
?
如果不行,你可以把mysql換成mysqli
你要輸出什么?我就假設(shè)兩個條件是數(shù)字,選好條件提交后,顯示條件1還是條件2吧。
form?action=""?method="post"
label條件1:
select?name="select1"
option?value="0"?selected="selected"選項1/option
option?value="1"選項2/option
/select
/label
label?條件2:
select?name="select2"
option?value="0"?selected="selected"選項1/option
option?value="1"選項2option
option?value="2"選項3/option
/select
/label
input?name="b1"?type="submit"?value="查詢"?/
?php
if($_POST['select1']$_POST['select2']){
echo?$_POST['select1']."".$_POST['select2'];
}else?if($_POST['select1']$_POST['select2']){
echo?$_POST['select1']."".$_POST['select2'];
}
else?if($_POST['select1']=$_POST['select2']){
echo?$_POST['select1']."=".$_POST['select2'];
}
?
php操作mysql步驟:
1.$connect=mysql_connect('localhost','root','123456')
or
die('數(shù)據(jù)庫連接失敗。'mysql_error());鏈接mysql。
2.mysql_select_db('database',$connect)選擇鏈接的數(shù)據(jù)庫。
3.mysql_query('Set
names
gb2312');$sql
=
"select
*
from
blog_article";準備要查詢的數(shù)據(jù)。
4.$datas
=
mysql_query($sql);執(zhí)行sql查詢。
5.$data
=
mysql_fetch_assoc($datas)得到查詢到的緩存在內(nèi)存中的一條數(shù)據(jù)。
6.print_r($data);
相同點:三個函數(shù)都是返回數(shù)據(jù)庫中查詢到的一行數(shù)據(jù)(說的再清楚點就是一條數(shù)據(jù))。
不同點:mysql_fetch_assoc()用的是數(shù)據(jù)庫中相應(yīng)的字段名作為的key值(也就是數(shù)組下標)
如:filed['id']=1;
mysql_fetch_row()用的是自動生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標)
如:filed[0]=1;
mysql_fetch_array()用的是自動生成的數(shù)字(從0開始依次生成)作為的key值(也就是數(shù)組下標),而且它還同時生成數(shù)據(jù)庫中相應(yīng)的字段名作為的key值(也就是數(shù)組下標)
如:
filed[0]=1,filed['id']=1;也就是說,mysql_fetch_array()將mysql_fetch_assoc()和mysql_fetch_row()查詢到的結(jié)果合為了一體了。
mysql_fetch_object()與mysql_fetch_assoc()差不多。只是mysql_fetch_assoc()返回的是數(shù)組。mysql_fetch_object()返回的是object對象。
mysql_insert_id() 取得上一步
INSERT
操作產(chǎn)生的
ID。
mysql_result()
函數(shù)返回結(jié)果集中一個字段的值。
mysql_num_fields()
函數(shù)返回結(jié)果集中字段的數(shù)目。
mysql_affected_rows();返回前一次
MySQL
操作所影響的記錄行數(shù)。
mysql_num_rows(mysql_query($sql))獲得結(jié)果集中行的數(shù)目。
mysql_pconnect()
函數(shù)打開一個到
MySQL
服務(wù)器的持久連接。
mysql_pconnect()
和
mysql_connect()
非常相似,但有兩個主要區(qū)別:
1.
當連接的時候本函數(shù)將先嘗試尋找一個在同一個主機上用同樣的用戶名和密碼已經(jīng)打開的(持久)連接,如果找到,則返回此連接標識而不打開新連接。
2.
其次,當腳本執(zhí)行完畢后到
SQL
服務(wù)器的連接不會被關(guān)閉,此連接將保持打開以備以后使用(mysql_close()
不會關(guān)閉由
mysql_pconnect()
建立的連接)。
mysql_data_seek(mysql_query($sql),8);獲得結(jié)果集中的第8條數(shù)據(jù)。(mysql_num_rows(mysql_query($sql))和mysql_data_seek(mysql_query($sql),8)在mysql_unbuffered_query($sql)不可以使用。)
mysql_unbuffered_query($sql)和mysql_query($sql)效果差不多,但是
mysql_unbuffered_query($sql)不緩存。mysql_query($sql)會緩存查詢的結(jié)果。
mysql_close();關(guān)閉mysql的最近的鏈接。
mysql_field_flags(mysql_query($sql),6)返回第六個字段的表屬性輸出如:not_null
primary_key
auto_increment
。
mysql_fetch_lengths(mysql_query($sql))返回該條數(shù)據(jù)的所有字段的每個字段的長度。返回的是一個數(shù)字組成的數(shù)組。
mysql_field_name(mysql_query($sql),3)返回第三個字段的字段名。
mysql_field_table(mysql_query($sql),0)返回指定字段所在的表名。
mysql_free_result(mysql_query($sql))
函數(shù)釋放結(jié)果內(nèi)存。
mysql_get_client_info()
函數(shù)返回
MySQL
客戶端信息。
mysql_get_host_info()
取得
MySQL
主機信息。
連接到一個?url?地址為localhost?、?端口為?3306?的mysql服務(wù)器上。mysql服務(wù)器的帳號是"root",密碼是"9999"。mysql?服務(wù)器上有一個數(shù)據(jù)庫?ok?,?數(shù)據(jù)庫里有一個表?abc。表?abc?一共為兩列,列名分別是?"id"?和?"name"?,將?abc?里的所有數(shù)據(jù)讀出來。
??
$dbh?=?@mysql_connect("localhost:3306","root","9999");?
/*?定義變量dbh?,?mysql_connect()函數(shù)的意思是連接mysql數(shù)據(jù)庫,?"@"的意思是屏蔽報錯?*/?
if(!$dbh){die("error");}?
/*?die()函數(shù)的意思是將括號里的字串送到瀏覽器并中斷PHP程式?(Script)。括號里的參數(shù)為欲送出的字串。?*/?
@mysql_select_db("ok",?$dbh);?
/*?選擇mysql服務(wù)器里的一個數(shù)據(jù)庫,這里選的數(shù)據(jù)庫名為?ok?*/?
$q?=?"SELECT?*?FROM?abc";?
/*?定義變量q,?"SELECT?*?FROM?abc"是一個SQL語句,意思是讀取表abc中的數(shù)據(jù)?*/?
??
br?/?
!--=========?方法一?=========--?
br?/?
??
$rs?=?mysql_query($q,?$dbh);?
/*?定義變量?rs?,函數(shù)mysql_query()的意思是:送出?query?字串供?MySQL?做相關(guān)的處理或者執(zhí)行.由于php是從右往左執(zhí)行的,所以,rs的值是服務(wù)器運行mysql_query()函數(shù)后返回的值?*/?
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";?
/*?定義量變(數(shù)組)row,并利用while循環(huán),把數(shù)據(jù)一一寫出來.??
函數(shù)mysql_fetch_row()的意思是:將查詢結(jié)果$rs單列拆到陣列變數(shù)中.??
$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);?
/*?關(guān)閉到mysql數(shù)據(jù)庫的連接?*/?
?
大概的基本流程如下:
連接數(shù)據(jù)庫,再加一個判斷。
選擇數(shù)據(jù)庫
讀取表
輸出表中數(shù)據(jù)
下面是代碼:
?php
$con
=?mysql_connect("localhost","root","abc123");
/*
localhost
是服務(wù)器
root
是用戶名?abc123
是密碼*/?
if
(!$con)
{
die("數(shù)據(jù)庫服務(wù)器連接失敗");
}
/*?這就是一個邏輯非判斷,如果錯誤就輸出括號里的字符串
*/?
@mysql_select_db("a",?$con);?
/*?選擇mysql服務(wù)器里的一個數(shù)據(jù)庫,假設(shè)你的數(shù)據(jù)庫名為?a*/?
$sql?=?"SELECT?*?FROM
qq";?
/*
定義變量sql,?"SELECT?*?FROM?qq"
是SQL指令,表示選取表qq中的數(shù)據(jù)?*/?
$result
=?mysql_query($sql);
//執(zhí)行SQL語句,獲得結(jié)果集?
/*下面就是選擇性的輸出打印了,由于不清楚你的具體情況給你個表格打印吧*/
//打印表格?
echo
"table
border=1";?
while(
$row
=
mysql_fetch_array($result)
)
/*逐行獲取結(jié)果集中的記錄,得到數(shù)組row?*/
{
/*數(shù)組row的下標對應(yīng)著數(shù)據(jù)庫中的字段值?*/
$id
=
$row['id'];?
$name
=
$row['name'];?
$sex
=
$row['sex'];?
echo
"tr";?
echo
"td$id/td";?
echo
"td$name/td";?
echo
"td$sex/td";?
echo
"/tr";?
}?
echo
"table
/";?
?
如果你的switch是表頭,就定義這個表頭字段,然后輸出。
你可以去后盾人平臺看看,里面的東西不錯