0

何時間ものデバッグ、検索、読み取りにもかかわらず、以下のコードが機能しない理由がわかりません!? デバッグのために、コードecho '1';echo '2';とを配置echo '3';しました。コードを実行すると、画面に 1 しか表示されません。そして、最も奇妙なことは、フォームのフィールドが空であるかどうかにかかわらず、1 を取得することです!?

私は YouTube の PHP Academy のビデオ チュートリアルに従いましたが、ビデオとまったく同じコードを記述したと確信しています。

ユーチューブ

続行できるように、いくつかの助けを大切にしてください!

編集 1: bio_name を bio に変更しました

編集 2: firts_name を first_name に変更しました

編集 3: SQL クエリで作成された追加

if(!empty($_POST)){
if(isset($_POST['first_name'], $_POST['last_name'], $_POST['bio'])){
    echo '1';
    $first_name = trim($_POST['first_name']);
    $last_name = trim($_POST['last_name']);
    $bio = trim($_POST['bio']);

    if(!empty($first_name) && !empty($last_name) && !empty($bio)){
    echo '2';
    $insert = $db->prepare("INSERT INTO people (firts_name, last_name, bio, created) VALUES (?, ?, ?, NOW())");
    $insert->bind_param('sss', $first_name, $last_name, $bio);

    if($insert->execute()){
        header('Location: index.php');
        echo '3';
        die();
      }
    }   
  }
}
4

1 に答える 1

5

最初の条件をチェック$_POST['bio']インして に代入$_POST['bio_name']して$bioいますが、これはおそらく空で、2 番目の条件は失敗します。


また、挿入クエリが間違っているようです。挿入する 3 つのフィールドと 4 つの値をリストしています。リストされているフィールドと値の数が同じである必要があります。

 INSERT INTO
     people (first_name, last_name, bio, <LACKING FIELD>)
     VALUES (    ?,          ?,      ?,       NOW()     )
于 2013-11-08T16:17:06.797 に答える