2017-11-20 21 views
0

MySQLデータベースにデータを挿入できません。エラーが発生していないため、理由はわかりません。私はローカルサーバーを実行するためにWindows上でXAMPPを使用しています。ここにコードがあります。もし誰かが助けてくれれば幸いです。PHPを使用してMySQLデータベースにデータを挿入できません

"値が挿入されていません"という出力が表示されています。私はまた、SQLクエリのVALUES( '$ email'、...)部分にフォームを通して入力した正確な値を取得したときに、$クエリを出力しようとしました。あなたは'(引用符を置くのを忘れ

<?php 


$dbconnect = mysqli_connect("localhost","root","","id3626001_login_details"); 

if (!$dbconnect) 
{ 
    die("Connection Failed" .mysqli_connect_error()); 
} 

if (!mysqli_select_db($dbconnect, "id3626001_login_details")) 
{ 
    echo "Could not connect to Database"; 
} 

if (isset($_REQUEST['username']) && ($_SERVER["REQUEST_METHOD"] == "POST")){ 

$username = $_REQUEST['username']; 
$email = $_REQUEST['email']; 
$password = $_REQUEST['password']; 

// Inserting values into the database through a query 
$query = "INSERT INTO user_registration (ID, email, username, password) VALUES ('$email', $username', '".md5($password)."')"; 

if (!mysqli_query($dbconnect, $query)) 
{ 
    echo "Values not inserted";  
} 

$result = mysqli_query($dbconnect, $query); 

if($result){ 
    echo "Registration Successful"; 
    } 
} 
?> 

答えて

5

クエリに問題がある、

1)あなたの列数とあなたが渡している値は

2と同じでなければなりません)あなたの質問を

に変更してください

あなただけのテストだけでなく、そのクエリをコピーして、[(localhost/phpmyadmin)]> [データベースを選択]> [SQL]を使ってデータベースに直接実行してください。クエリを実行するときに

UPDATE

あなたがあなたを取得するために避けるために、いくつかのルールに従わなければなりませんSQL injectionsに完全に開いている挿入方法のこれらの種類を使用してはならないセキュリティ上の懸念のための@Akintundeの提案

用SQLインジェクションのスクリプトという目標

データベース操作クエリでここ

+1

を確認することができますたぶん列と値のクエリ数に同様 – Akintunde007

1

のための代わりに使用Prepared Statementsあなたがそのテーブルのデータベース内のID自動インクリメントを行う必要があるので、私たちはのparamとして同上を渡していません。ここ

$query = "INSERT INTO user_registration (email, username, password) VALUES ('$email', '$username', '".md5($password)."')"; 

、>$username' - あなたは、上の引用に'を入れるのを忘れていました。

、なぜ(mysqli_queryに二回あなたのクエリを渡すにしている)あなたは、かつてのようなのために

$result = mysqli_query($dbconnect, $query); 
if ($result) 
{ 
    echo "Registration Successful"; 
} 
else{ 
    echo "Values not inserted"; 
} 
+0

セキュリティの脆弱性を指摘異なる –

+0

申し訳ありません:)私はちょうどコピーしました... – Rits

+0

ありがとう@アイロンスタック私は私の答えを編集しました。私を指してくれてありがとう。 – Rits

関連する問題