0

SQL で構文エラーが発生し、すべてを試しましたが、コードの何が問題なのかわかりません。

$register_user = "INSERT INTO '".$this->users_table."' ( '".$this->username_collumn."', '".$this->email_collumn."','".$this->password_collumn."' ) VALUES ( '".$username."','".$email."','".$password."')";

すべての変数はエスケープされています。mysql_real_escape_string 関数も使用しようとしましたが、まったく役に立ちませんでした。エラー レポートでは @ 記号が完全に表示されていないため、電子メールに問題があるようですが、理由がわかりません。

エラーは次のとおりです。

SQL 構文にエラーがあります。''profiles' ('username', 'email', 'password' ) VALUES ('Corten', 'attrac' at line 1

多くの方法で変数をエスケープしようとしましたが、どれもエラーを解決しませんでした。どうすればこれを解決できますか?

4

2 に答える 2

2

列名またはテーブル名を一重引用符で囲んではいけません。代わりにバッククォートを使用してください。

$register_user = "INSERT INTO 
`".$this->users_table."` 
( `".$this->username_collumn."`, `".$this->email_collumn."`,`".$this->password_collumn."` ) 
VALUES ( '".$username."','".$email."','".$password."')";
于 2012-09-09T09:42:14.887 に答える
0

これを試して:

テーブル名と列からすべての一重引用符を削除します

$register_user = "INSERT INTO ".$this->users_table." ( ".$this->username_collumn.", ".$this->email_collumn.",".$this->password_collumn.") VALUES ( '".$username."','".$email."','".$password."')";
于 2012-09-09T09:42:23.927 に答える