ホームページ >バックエンド開発 >PHPチュートリアル >mysql_fetch_array が実行されないのはなぜですか?

mysql_fetch_array が実行されないのはなぜですか?

WBOY
WBOYオリジナル
2016-06-23 14:39:42825ブラウズ

f1399508bff36e80b91ac41844c4106b
b39b633a301bb42166ac5757bde41ce5 を各行の後に追加します。実行が while($arr=mysql_fetch_array($result)) に達すると、内部のコンテンツが実行されないことがわかりました。$sql は正常です


ディスカッション (解決策) に返信

できます。 $valA = $_POST["valA"]; の値を取得します

$result=mysql_query($sql);if(mysql_error()){  echo mysql_errno() . ": " . mysql_error() . "\n";}

エラーがあるかどうか確認してください。

$result=mysql_query($sql);if(mysql_error()){  echo mysql_errno() . ": " . mysql_error() . "\n";}

エラーがあるかどうか確認してください?

案の定

1064: SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを確認して、行 1 の「??AUQ005」付近で使用する正しい構文を確認してください
テキスト ボックスに中国語の文字を入力しましたと取得すると結果が文字化けしてしまいますが、echo $valAすると結果はYu AUQ005になります。これはWebページのエンコードが設定されていないためでしょうか? PHPの設定方法を教えてください

$valAは正しく、$sqlをエコーし​​てもエラーは出ないのですが、実行すると漢字が間違っています

$valA = $_POST["valA"]; が取得できません。この値


ありがとうございます。mumubangditu の方法によると、入力した条件内の漢字が正常に認識されないことがわかりました。どうすれば問題を解決できますか?


mysql_select_db("a1209173000");//データベース名
を入力した後、
mysql_query('set names gbk') を追加します
これは、操作されているデータとデフォルトの文字セットの間の不一致が原因です。データベース

in

mysql_select_db("a1209173000");// データベース名

を入力した後、
mysql_query('set names gbk') を追加します
これは、操作されているデータとデータベースのデフォルトの文字セット

モデレーターありがとうございます、解決しました

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。