PHP函數內while 迴圈無效,該如何解決

來源:互聯網
上載者:User
PHP函數內while 迴圈無效
$conn = mysql_connect("localhost","root","root");//串連資料庫,請填寫你自己的使用者名稱密碼
mysql_select_db("hxxx");//選擇MYSQL資料庫
mysql_query("set names utf-8");//設定為gb2312編碼

function Cliebiao($mingcheng1,$mingcheng2){
$liebiao="";
$rows="";
$result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'");
echo "$mingcheng1: ";while($rows = mysql_fetch_row($result)){echo "".$rows[0]."";}echo "";
return $liebiao;
}
$mingchenga="類型名稱";
$mingchengb="mingcheng";
Cliebiao($mingchenga,$mingchengb);
?>
合格資料是存在的,而且不只一條,可程式執行後沒有顯示資料,只有“”類型名稱: “”

請各位大師指點一下哪的問題


------解決思路----------------------
while($rows = mysql_fetch_row($result)){
echo "".$rows[0]."";
}
把裡面的mysql_fetch_row變成mysql_fetch_array
------解決思路----------------------
奧才看到原來你還有一個Cliebiao函數呢。你那些連結資料庫的代碼函數裡面引用不到的
------解決思路----------------------


global $conn;
$result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'",$conn);


------解決思路----------------------
函數封裝不是這樣echo的吧。
------解決思路----------------------

$conn = mysql_connect("localhost","root","root");//串連資料庫,請填寫你自己的使用者名稱密碼
mysql_select_db("hxxx");//選擇MYSQL資料庫
mysql_query("set names utf-8");//設定為utf-8編碼

function Cliebiao($mingcheng1, $mingcheng2, $conn){
$liebiao = "";
$rows = "";
$result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'", $conn);
$liebiao .= "$mingcheng1: "; while($rows = mysql_fetch_array($result)){ $liebiao .= "".$rows[0].""; } $liebao .= "";
return $liebiao;
}
$mingchenga="類型名稱";
$mingchengb="mingcheng";
echo Cliebiao($mingchenga, $mingchengb, $conn);
?>

1、請注意函數中盡量不要使用echo等輸出類函數,這樣會降低你的函數可重用性,你可以將函數中的內容return之後,將結果輸出。
2、6樓說的對,你的控制代碼是在外面產生的內部無法獲得,請裡明確的標明你的控制代碼再使用mysql_query函數。
------解決思路----------------------
引用:

$conn = mysql_connect("localhost","root","root");//串連資料庫,請填寫你自己的使用者名稱密碼
mysql_select_db("hxxx");//選擇MYSQL資料庫
mysql_query("set names utf-8");//設定為utf-8編碼

function Cliebiao($mingcheng1, $mingcheng2, $conn){
$liebiao = "";
$rows = "";
$result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'", $conn);
$liebiao .= "$mingcheng1: "; while($rows = mysql_fetch_array($result)){ $liebiao .= "".$rows[0].""; } $liebiao .= "";
return $liebiao;
}
$mingchenga="類型名稱";
$mingchengb="mingcheng";
echo Cliebiao($mingchenga, $mingchengb, $conn);
?>

1、請注意函數中盡量不要使用echo等輸出類函數,這樣會降低你的函數可重用性,你可以將函數中的內容return之後,將結果輸出。
2、6樓說的對,你的控制代碼是在外面產生的內部無法獲得,請裡明確的標明你的控制代碼再使用mysql_query函數。

上邊有個變數寫錯了,這個才是正確的
------解決思路----------------------
PHP函數內如何迴圈顯示資料樣本
//匯入資料連線
if($_GET[mail_id]==true){
$query=mysql_query("update tb_mail_box set tb_mail_type=1 where tb_mail_id='$_GET[mail_id]'");
}
//資料庫連接頁面
$conn=mysql_connect("localhost","root","root");//串連資料庫伺服器
mysql_select_db("db_forum",$conn);//串連指定的資料庫
mysql_query("set names gb2312");//對資料庫中的編碼格式進行轉換,避免出現中文亂碼的問題
?>
//設定迴圈資料庫表資料
$myrow=mysql_fetch_array($query);//迴圈資料
?>//codego.net/tags/4/1/
//顯示表欄位資訊
//顯示資料表中Email資訊
//顯示資料表中的某數量
//顯示資料表中郵件名稱
//顯示郵件時間
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.