2017-02-13 12 views
-2

私は質問に問題があります。なぜそれが動作しないのかわからない、 それはフォームからデータを収集していますが、常にエラーがあり、テーブルにデータを挿入しません。 エラーまたは警告の通知はありませんが、ifオプションからelseオプションを選択し、テーブルにデータを挿入しない場合は、理由を知らせません。挿入クエリが機能していません。エラーを見つけることができません

<?php 

$con=mysqli_connect('localhost','root','','flentox'); 
if(mysqli_connect_error($con)) 
{ 
echo "there is an error in connection"; 
} 

$fname=$_POST['fname']; 

$lname=$_POST['lname']; 
$email=$_POST['email']; 
$phone=$_POST['phone']; 
$area=$_POST['select']; 
$address=$_POST['address']; 
$eaddress=$_POST['eaddress']; 



$query= mysqli_query($con, "INSERT INTO order(Fname,Lname,Email,Phone,Area,Address,Eaddress) VALUES(`$fname`,`$lname`,`$email`,`$phone`,`$area`,`$address`,`$eaddress`)"); 

    if ($query) { 
    echo "order confirm"; 

} 
else { 
echo "There is an error"; 
} 

?> 

答えて

0

質問が正しくないため、VALUESで( ``)を使用する必要はありません。あなたの値が空であるかどうかをチェックすることを忘れないでください。 $_POSTからのデータがない場合、クエリもクラッシュします。 また、SQLインジェクションについても忘れないでください。 $ _POSTまたは$ _GETデータをクエリにすぐ挿入することはお勧めしません。 Prepared Statementsを使用してください。

これを試してください。

error_reporting(1); 
+0

エラーや警告が、それでもデータの無挿入を -

$fname = (empty($_POST['fname']) ? 'default value' : $_POST['fname']); .......... (for other params too). "INSERT INTO order ('Fname','Lname','Email','Phone','Area','Address','Eaddress') VALUES('".$fname."','".$lname."','".$email."','".$phone."','".$area."','".$address."','".$eaddress."')"; 

はまた、PHPファイルの最上部にこのコードを実行していない、あなたのエラーを表示します。 エラーがあります – Zain

関連する問題