PHP関数のwhileループが無効な場合の解決方法

WBOY
リリース: 2016-06-13 12:10:27
オリジナル
1225 人が閲覧しました

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: ";
return $liebiao;
}
$mingchenga="型名";
$mingchengb="mingcheng";
Cliebiao($mingchenga,$mingchengb);
?>
条件を満たすデータが存在し、プログラムが実行された後、データは表示されず、「」タイプ名のみが表示されます: ""

問題に関するヒントをいくつか教えてください


------ソリューションのアイデア----------------------
while($ rows = mysql_fetch_row($result)){
echo "";
}
mysql_fetch_行を内に置くと、mysql_fetch_配列
になります------ソリューションのアイデア--------------- ---------
Ao Cai さんは、Cliebiao 機能もあることを知りました。
------解決策のアイデア----------------------

<br /><br />global $conn;<br />$result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'",$conn);<br /><br />
ログイン後にコピー

------解決策のアイデア-----------
関数のカプセル化はこのようにエコーされませんね。 ?
------解決策のアイデア----------------------
<br /><?php<br />$conn = mysql_connect("localhost","root","root");//连接数据库,请填写你自己的用户名密码<br />mysql_select_db("hxxx");//选择MYSQL数据库 <br />mysql_query("set names utf-8");//设置为utf-8编码<br /><br />function Cliebiao($mingcheng1, $mingcheng2, $conn){<br />    $liebiao = "";<br />    $rows = "";<br />    $result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'", $conn); <br />    $liebiao .= "$mingcheng1: <select name=$mingcheng2>";<br />    while($rows = mysql_fetch_array($result)){<br />        $liebiao .= "<option value=".$rows[1].">".$rows[0]."</option>";<br />    }<br />    $liebao .= "</select>";<br />    return $liebiao;<br />}<br />$mingchenga="类型名称";<br />$mingchengb="mingcheng";<br />echo Cliebiao($mingchenga, $mingchengb, $conn);<br />?><br />
ログイン後にコピー

1.関数内で echo などの出力関数を使用しないようにしてください。これにより、関数の内容を返して結果を出力することができます。
2. 6 階が正しいです。ハンドルは外部で生成されており、mysql_query 関数を使用する前にハンドルを明確に指定してください。
------ソリューションのアイデア----------------------
引用:
<br /><?php<br />$conn = mysql_connect("localhost","root","root");//连接数据库,请填写你自己的用户名密码<br />mysql_select_db("hxxx");//选择MYSQL数据库 <br />mysql_query("set names utf-8");//设置为utf-8编码<br /><br />function Cliebiao($mingcheng1, $mingcheng2, $conn){<br />    $liebiao = "";<br />    $rows = "";<br />    $result = mysql_query("select mingcheng,daima from mingcheng where leixing='".$mingcheng1."'", $conn); <br />    $liebiao .= "$mingcheng1: <select name=$mingcheng2>";<br />    while($rows = mysql_fetch_array($result)){<br />        $liebiao .= "<option value=".$rows[1].">".$rows[0]."</option>";<br />    }<br />    $liebiao .= "</select>";<br />    return $liebiao;<br />}<br />$mingchenga="类型名称";<br />$mingchengb="mingcheng";<br />echo Cliebiao($mingchenga, $mingchengb, $conn);<br />?><br />
ログイン後にコピー

1. 関数内で echo などの出力関数を使用しないように注意してください。これにより、関数内の内容を返して結果を出力することができます。 。
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/
//テーブルフィールド情報を表示
//データテーブルにメール情報を表示します
//データテーブルに特定の数量を表示します
< ?php echo $myrow[tb_mail_sender];?> ;//データテーブルにメール名を表示
//メール時刻を表示

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート