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

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

WBOY
リリース: 2016-06-23 14:39:42
オリジナル
824 人が閲覧しました

error_reporting(0);
$conn=mysql_connect("localhost","root","root");//データベース接続情報を入力します
mysql_select_db("a1209173000");//データベース名
$valA = $_POST["valA"];
if($valA!=""){
$sql = "select * from table where chepai='".$valA."'";結果= mysql_query($ sql); ="valA"/>

?> を各行の後に追加します。実行が 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') を追加します
これは、操作されているデータとデータベースのデフォルトの文字セット

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

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