2017-09-22 3 views
-1

私はdbにユーザー入力を追加する必要がある以下のコードを持っていますが、私はなぜそのデータベースに追加していない、テーブルの電子メールフィールドが別のテーブルを参照する外部キーであり、 $電子メールに電子メールを格納し、ユーザーがデータを保存するときにdbに保存するには、ユーザー入力から日付と時刻を受け取りますが、これはdb形式とまったく同じですが、まだ保存しません。同様に、どちらも動作していません。何か不足していますか?ユーザ入力から日付、時刻、外部キーの値をmysql dbに追加しますか?

$server = "localhost"; 
    $user = "root"; 
    $pwd = ""; 
    $sql_db = "cabcustomers"; 
    $email = $_SESSION['sesName']; 

$conn = @mysqli_connect($server,$user,$pwd,$sql_db); 

    if (isset ($_POST["name"]) && isset ($_POST["contact"]) && isset ($_POST["unitno"]) && isset ($_POST["streetno"]) && isset ($_POST["streetname"]) && isset ($_POST["suburb"]) && isset ($_POST["destsuburb"]) && isset ($_POST["pickdt"]) && isset ($_POST["picktime"])) 
    { 
     $name = $_POST["name"]; 
     $contact = $_POST["contact"]; 
     $unitno = $_POST["unitno"]; 
     $streetno = $_POST["streetno"]; 
     $streetname = $_POST["streetname"]; 
     $suburb = $_POST["suburb"]; 
     $destsuburb = $_POST["destsuburb"]; 
     $pickdt = $_POST["pickdt"]; 
     $picktime = $_POST["picktime"]; 

     if(empty($name) || empty($contact) || empty($unitno) || empty($streetno) || empty($streetname) || empty($suburb) || empty($destsuburb) || empty($pickdt) || empty($picktime)) 
     { 
      echo "<p>ONE OR MORE OF FIELDS HAVE MISSING INFORMATION, KINDLY CHECK AND TRY AGAIN!</p>"; 
     } 
     elseif (!is_numeric($contact)) 
     { 
      echo "<p>CONTACT NUMBER MUST BE NUMERIC!</p>"; 
     } 
     else 
     { 
      $idlen = 7; 
      $bookingid = uniqid (rand(), true); 
      $bookingid = "BK" . substr($bookingid, 0, $idlen); 
      $status = "unassigned"; 
      $pickdt = $pickdt . " " . $picktime; 
      $query = "insert into bookings (bookingid, pname, contact, unitno, streetno, streetname, suburb, destsuburb, pickupdt, bookingdt, status, email) values ('$bookingid', '$name', '$contact', '$unitno', '$streetno', '$streetname', '$suburb', '$destsuburb','$pickdt', 'NOW()','$status', '$email');"; 
      echo $email; 
      $result = mysqli_query($conn, $query); 
      echo $result; 
      echo "<p>INFORMATION SAVED</p>"; 
     } 
     mysqli_close($conn); 
    } 
+0

'print_r(mysqli_error($ conn));' – Manav

+0

ここで '@'はなぜですか? @mysqli_connect($ server、$ user、$ pwd、$ sql_db); 'これはエラーメッセージを表示しないので、接続が失敗した場合、 – delboy1978uk

+0

は同意しますが、接続が正常に動作しています。情報は保存されますが、データベースには何もありません。 –

答えて

-1

あなたの最初の質問の後のコメントに基づいて、私は接続が、問題は最も可能性の高いINSERTクエリの実行中に問題が起きているとは思いません。 PHP以外のクエリの構文をトラブルシューティングするためにphpMyAdminからクエリを実行しようとしましたか?

+0

phpmyadminでクエリをテストするヒントを見て、明らかに私が以前にテストするために削除した電子メールフィールドであるため、dbに1フィールドなしでデータを保存していませんでした... –

+0

優れた、複雑なクエリを複数の結合でテストするだけでなく、デバッグのための救済策としても使用されています。世話をする! – Ingo

+0

@HuudRychこれはなぜ受け入れられた答えですか? –

関連する問題