ホームページ  >  記事  >  バックエンド開発  >  MySQLについて教えてください

MySQLについて教えてください

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

php mysql

午後中ずっとこのコードに取り組んでいます。コードに問題がある場合はお知らせください
テスト後、データベースに正しく接続できます。つまり、while ループ条件 $row = mysql_fetch_array ($result) は false を返します
navcat に貼り付けると、コード内の SQL クエリ ステートメントも正しくなります

コードは次のとおりです。ディスカッション(解決策)へ
line_name='58 Road ' is not true
line_name='58route' is not true

補足:

SQLステートメントは正しいので、コピーしていますnavcat に送信すると正しい結果が得られます
コード全体にはこのクエリ操作のみがあり、他の操作はありません。 。

私は午後ずっとこのコードに取り組んでいました。テスト後、コードはデータベースに正しく接続できました。 $row = mysql_fetch_array($result) は false を返します。
コード内 navcat に SQL クエリ文を貼り付けると、 30 件以上の結果が返されます。

コードは次のとおりです。

$con = mysql_connect($dbhost,$dbuser,$dbpass); if ($con) { 	mysql_select_db($dbname, $con);	$result = mysql_query("SELECT * FROM zzbus WHERE line_name='58路'",$con);	while($row = mysql_fetch_array($result))	{		echo($row[0];	}}

補足:
SQL 文は正しいです。 navcat に送信すると正しい結果が得られます
コード全体にはこのクエリ操作のみがあり、他の操作はありません。 。

それはエンコーディングの問題である可能性があります。テーブルのエンコーディングは何ですか? mysql_query("set names 'your table programming'"); を追加します。漢字 結果を見てください


エンコーディングの問題

一貫性が必要なことが 3 つあります:

1. Web ページ xxx のエンコーディング

840983769be68b514fcca8f852eb3a47

2. PHP ファイルのエンコーディング (ansi または UTF8)
3. MYSQL クライアントのエンコーディング (名前 xxx を設定)

Web ページのエンコーディングが gbk の場合、php ファイルのエンコーディングは次のようにする必要があります。 ansi であり、mysql が接続されるたびに送信する必要があります set names gbk (サーバーのエンコーディングも gbk の場合、ステートメント set names xxx は省略できます)





1) mysql_error を使用してエラーがあるかどうかを確認します
2) 中国語の文字を削除して結果を確認します
1) mysql_error () を使用すると null 値が返されます。エラー メッセージは表示されないはずです
2) 58 以降の「道路」を削除しても機能しません
ここで、mysql_fetch_array という文が疑わしいと思います。 ($result) が正しく動作していません

ご指導ありがとうございます ~~~

問題は解決しました。エンコーディングの問題です。クエリと問題の前に mysql_query("set names 'UTF8"); を追加してください。解決しました

本当に感謝しています

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