1

これは私にとって深刻な問題です。AJAX と PHP を使い始めたばかりですが、良いスタートを切ることさえできません。どんな助けでも大歓迎です。このコードの結果、クエリが実行されたかのように空白のページが表示されますが、データベースには変更がありません。

<?php
$user = "login";
$pass = "password";
$con = mysql_connect("localhost","qwerty","qwerty");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

mysql_select_db("database_sky", $con);

mysql_query("INSERT INTO players (id, username, password) VALUES ('',$user, $pass)");

mysql_close($con);
?>

何が起こっているのかわかりません。Apache 2.2、PHP 5、MySql 4.1 を使用しています

4

2 に答える 2

2

変数が一重引用符で囲まれることはありません (文字列であることを意図しています)。

試す:

INSERT INTO players 
   (id, username, password)
    VALUES ('','$user', '$pass')

元のコードは次のように評価されます。

INSERT INTO players (id, username, password) VALUES ('',John, pass)

(ほとんどの場合) 文字列を入力する必要があるため、これは機能しません。あなたが書いたjohn、ではありません'john'

次のようなことをお勧めします$query = "INSERT INTO .......";

こうすればできる

a) echo $query;出力された文字列を取得し、それを PhpMyAdmin (またはデータベースへのインターフェイスとして使用するもの) にプラグインします。

b)その後、次のことができますmysql_query($query)。これにより、整理が容易になります(私の意見では)。:)

于 2012-10-09T00:08:40.970 に答える
-1

に渡す必要があり$conますmysql_query。以下はあなたの問題を解決するはずです:

mysql_query("INSERT INTO players (id, username, password) VALUES ('','$user', '$pass')", $con);

編集:他の投稿者によって指摘された後、別のエラーに気付きました。値を囲む一重引用符がありません。

于 2012-10-09T00:06:15.180 に答える