私は php の初心者です
最近、検索プログラムを作成したいと思っています
主に Android と mySQL の媒体として php を使用しています
php で行き詰まり、SQL エラーを正常に特定できません
以下は私のものです。メインプログラムのスニペット:
(Java の場合)
try {
String result = DBConnector.executeQuery("SELECT*FROM user where zip = 'newzip' ");
System.out.println(result); )
$db = mysql_pconnect("localhost","root","1234");
mysql_query("SET CHARACTER SET 'UTF8';");
mysql_query(" SET NAMES UTF8;"); ;
mysql_query("SET CHARACTER_SET_CLIENT=UTF8;");
mysql_select_db("food");
$ res = mysql_query($sql);
while($r = mysql_fetch_assoc($res))
print(json_encode($output));
? は私の ??? メッセージです:
mysql_fetch_assoc(): C:AppServwwwAndroidConnectDBandroid_connect_db.php 13 行目で指定された引数は有効な MySQL 結果リソースではありません br />
Java にメソッドがあり、phpmyadmin で直接実行します (つまり、SELECT*FROM user where zip = 'newzip')
一致するファイルを正しく見つけることができます。情報はありますが、わかりません。 Javaを介してphpにmySQLを呼び出す方法。多くの記事をクロールして修正しようとしています(SET NAMES UTF8;)
また、magic_quotes_gpc = Onを変更するためにphp.iniにアクセスしました。まだ null と ??? 情報を返します
しかし、私はそれを
SELECT*FROM user where id=1 に変更しました ??OK 00"
それで、それはブートが原因でしょうか??
ありますまた、
SELECT*FROM user where zip = /'newzip/' に変更されました
?それでもダメですか?
何か解決策があるか知りたいですか?
ディスカッションに返信solution)
推測は無駄です、エラーが発生したときはエラーメッセージを確認する必要があります
$res = mysql_query( $sql) または die(mysql_error());
あなたが与えたエラーメッセージは
mysql_fetch_assoc(): 提供されているためです引数は有効な MySQL 結果リソースではありません
つまり、mysql_fetch_assoc に渡されるものは有効な MySQL リソースではないので、ステップアップする必要があります
私の mtsql_error? SQL 構文にエラーがあります。MySQL サーバーのバージョンに対応するマニュアルを確認して、1 行目の「newzip」付近で使用する正しい構文を確認してください
つまり、私の文字の入力部分に ???? があるということです。 ??
では、どうすれば修正できますか?
??? を SELECT*FROM user where zip = 'newzip' に変更しますSELECT * FROM user where zip = 'newzip'
持っています
でも、??@@
SELECT * FROM user where id = 1
正常に動作します
でも、他の数字を指定するように変更すると、動作しませんか??
または、受信文字列を一時的に逆にします。
$sql = stripslashes($_POST["query_string"]);