2017-12-21 27 views
-2
$dbc=mysql_connect('127.0.0.1', 'root', '1234','aliendatabase') 
or die('Failed!'); 

$query = "INSERT INTO alien_abduction(first_name, last_name, when_it_happened, how_long, " . 
"how_many, alien_description, what_they_did, fang_spotted, other, email) " . 
"VALUES ('$first_name', '$last_name', '$when_it_happened', 
'$how_long', '$how_many', " . 
"'$alien_description', '$what_they_did', '$fang_spotted', '$other', 
'$email')"; 

$result=mysql_query($query) 
or die("Failed to upload!!!!"); 

mysql_close($dbc); 

このコードは$結果行を実行できません(出力が失敗!!!!)が、接続を確立できます。私はテーブルの列の名前と変数をクロスチェックして、それは良いようです。PHPを使用してmysqlテーブルにデータを挿入する

MySQLバージョン5.7

+1

**警告**:PHPを学んでいるだけの方は、[mysql_query'](http://php.net/manual/en/function.mysql-query.php)インターフェイスを使用しないでください。それはPHP 7で削除されたのでとてもひどいと危険です。[PDOのようなものは学ぶのが難しくない](http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps -pdo-for-database-access /)と[PHP The Right Way](http://www.phptherightway.com/)のようなガイドがベストプラクティスを説明しています。あなたのユーザーデータは**適切にエスケープされていない**(http://bobby-tables.com/php.html)であり、[SQLインジェクションのバグ](http://bobby-tables.com/)があります。悪用される。 – tadman

+2

[エラーの性質についてもっと知る方法があれば] –

+0

さて、私はそれを学びますが、なぜこのコードが動かないのか分かりますか?私はHead First PHP&MySQLという本を指していました。 –

答えて

-1

列のデータ型をチェックし、エラーを見つけるために、次の手順を実行してください。

$結果=するmysql_query($クエリ) をか(mysql_error($のDBC))死にます。

+0

SQL構文にエラーがあります。行1の「、、、、、、、)」の近くで使用する正しい構文については、MySQLサーバのバージョンに対応するマニュアルを確認してください。 どの行1を参照していますか? –

+0

Aman、SQLのエコーを行い、ここに貼り付けてください。 – somanalytics

+0

echo 'フォームを送信していただきありがとうございます。
'; \tエコー「あなたは拉致されました」。 $ when_it_happened; \t \tエコー 'とのために行った'。 $ how_long。 '
'; \tエコー 'エイリアンの数:'。$ how_many。 '
'; \t \t echo '説明する:'。 $ alien_description。 '
'; \tエコー 'エイリアンはこれをしました:'。$ what_they_did。 "
"; \t echo 'そこに牙がありましたか? ' $ fang_spotted。 '
'; (私が考え出したように、この行にエラーがあります。) \tエコー 'その他のコメント:'。$その他 '
'; \t echo 'あなたのメールアドレスはです'。 $ email; –

-2

問題は引用方法にあります。 一重引用符は変数の保持には使用されません。したがって、一重引用符では、変数ではなく文字列です。

あなたは値に置き換え$variableが、私はそれが問題を解決することを願っています

$query = 'INSERT INTO alien_abduction(first_name, last_name, when_it_happened, how_long, how_many, alien_description, what_they_did, fang_spotted, other, email) '. 
' VALUES (' ".$first_name." ', ' ".$last_name . " ', ' ". $when_it_happened . " ', ' " .$how_long . " ', ' " . $how_many . " ', " . " " . $alien_description . " ', ' " . $what_they_did . " ', ' " . $fang_spotted . " ', ' " . $other . " ', ' " . $email . " ')' ; 

の下のように単一引用符で全体のクエリを書き直すことをしたい場合。

+1

二重引用符はどこでも使用できますが、変数も認識するので問題はありません –

+0

問題は一重引用符ではなく二重引用符ではありません –

+0

なぜ私は理解できません。実際にあなたの問題を解決するために-1を返します –

関連する問題