0

ユーザー登録用の電子メール検証を作成しようとしています。

私は段階的な指示に従っていますが、非常に単純なはずの何かに行き詰まっています。

MySqlクエリを使用してデータベースに以下を挿入することになっています:

mysql_query("INSERT INTO users (username, password, email, hash) VALUES(
'". mysql_escape_string($name) ."',
'". mysql_escape_string(md5($password)) ."',
'". mysql_escape_string($email) ."',
'". mysql_escape_string($hash) ."') ") or die(mysql_error()); 

WAMP サーバーを使用しています。データベースに移動し、テーブルを選択し、[SQL] タブを選択した後に上記を挿入し、[移動] をクリックして応答を得ました。

"#1064 - SQL 構文にエラーがあります。'mysql_query("INSERT INTO users (username, password, email, hash) VALUES( '" . m' 行 1"

何らかのエラーが発生することなく、クエリを phpMyAdmin データベースに挿入することはできません。誰かがこれに光を当てて、私に外の景色を見せてくれることを願っています。

言うまでもなく、私はどんな意見にも感謝します。私はこれに不慣れで、私の知恵の終わりです。

4

2 に答える 2

1

SQL で PHP 関数を使用することはできません。代わりに PHP コードを実行します

于 2012-10-29T22:33:57.293 に答える
1

Prash が言ったように、名前の横に php 関数がmysql_queryあります。mysql_escape_stringphpMyAdmin の SQL タブに貼り付ける場合、MySQL db への PHP 呼び出しを表す mysql_query() を削除し、mysql_escape_string 呼び出しを変数 ($...) の計算値に変換する必要があります。次のような結果が得られるはずです。

INSERT INTO users (username, password, email, hash) VALUES(
'SampleName',
md5('SamplePassword'),
'SampleEmail@example.com',
'SampleHash') 

値に特殊文字がある場合は自分でエスケープする必要があります)

于 2012-10-29T22:48:41.343 に答える