データベースへの php 接続の問題 $link=mysql_connect("localhost","root","906200"); mysql_select_db("manage"); $sql="select * from commodity where comodity_name= ".$name;/////////エラー メッセージには、これは間違っていると書かれています。 ! ! ? ? ? ? $result=mysql_query($sql)or die(mysql_error()); $num = mysql_num_rows($result); echo $num; if($num>0){ while($rs=mysql_fetch_object($result)) { $c_id=$rs->commodity_id; $c_name=$rs->commodity_name; $c_kind=$ rs->commodity_kind; $c_price=$rs->commodity_buyprice; echo "
".$ c_name." ".$c_kind." ".$c_price." "; } mysql_close(); } 前の Web ページが $name に値を正常に渡したことが確認されており、SQL にエラーがありますというエラー メッセージが表示されます。構文; MySQL サーバーのバージョンに対応するマニュアルで、1 行目の「select * from comodity where commodity_name='cookie'」付近で使用する正しい構文を確認してください。 これが理由です。 。 。 。 。 。 (テーブル名は商品です) -----解決策------ -- $sql="select * from commodity where commodity_name='$name'";
------解決策--------- 検索/更新/挿入するフィールドがvarchar 、 char 、 text およびその他の型では、内容を引用符で囲む必要があります。
------解決策--------- エラーが発生したときに $sql を投稿します big5_chinese_ci ??? $name のエンコーディングは何ですか?
------解決策------ =両側のエンコーディングが一致していません。 latin1_swedish_ci、もう 1 つは big5_chinese_ci 統一されたエンコーディングに注意してください
------解決策---------------------- データベースに接続するときに、次を追加します: mysql_query( "名前をセット gbk");
------解決策--------- utf8_general_ci すると、php、html ファイルは次のようになります。 UTF-8形式で保存されます。文字化けの悩みも解消されます。
------解決策-------- をそれぞれ utf8_general_ci に変更することです。最も一般的な 注: int 型変数を変更する必要はありません 変更する主なポイントは 3 つあります。 まず、データベース型の場所があります 第 2 に、場所がありますテーブル属性の場合 第三に、それぞれ int 型ではないすべてのフィールドに場所があります データベースに接続した後 mysql_query("set NAMES utf-8"); もう必要ありません将来的にはすべての中国語操作でエンコードの問題を心配する必要があります (複数のメモ chatset=utf-8; または php ページ属性 dw を utf-8 に変更します)
------解決策--------- Windows 環境の場合は gbk を使用し、Linux 環境の場合は gbk を使用します。 html http-equiv、データベース エンコーディング、php ファイル エンコーディング (システム ロケールと同じ) を含む utf8 を使用するだけです。
------解決策--------- 統一エンコーディング まず第一に, 次に、ファイルの文字エンコーディングを決定します。次に、データベース、テーブル、フィールドの文字エンコーディングを決定します。これらの薬が一貫している場合にのみ UTF-8 を使用するのが最善です。私は通常 utf8_general_ci
を使用します
声明: この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。