-2

この mysql クエリ / 準備済みステートメントを実行しようとすると、問題が発生します。

  <?php

  if (!empty($_POST['var1'])&&!empty($_POST['var2'])
    &&!empty($_POST['var3'])&&isset($_POST['var4'], 
    $_POST['var5'], $_POST['var6'])) {

  require_once 'connect.inc.php'; 

  $query = "INSERT INTO tablename (var1, var2, var3, var4, var5, var6)
  VALUES (?,?,?,?,?,?)";

  $stmt = mysqli_prepare($link, $query);

  mysqli_stmt_bind_param($stmt, "ssssss", $var1, $var2, $var3, $var4, $var5, $var6);

  $var1 = $_POST['var1'];
  $var2 = $_POST['var2'];
  $var3 = $_POST['var3'];
  $var4 = $_POST['var4'];
  $var5 = $_POST['var5'];
  $var6 = $_POST['var6'];

  mysqli_stmt_execute($stmt);

   if (mysqli_stmt_affected_rows($stmt)==1) {
   echo 'Thank you for your submission.';
      } else {
      mysqli_stmt_close($stmt);
      mysqli_close($link);  }

 } else {
echo 'We were unable to process your information. Please ensure all required fields 
        were filled out.'.mysqli_stmt_error($stmt);
} 

?>

コードを実行すると、次のエラー メッセージが表示されます。

 Notice: Undefined variable: stmt in ...on line 62
  Warning: mysqli_stmt_error() expects parameter 1 to be mysqli_stmt, null given in ... on        line 62

行 62 はmysqli_stmt_error($stmt)、最後に含まれる行です。私が知る限り、私は$stmt適切にセットアップしました。(ページ$linkから来ます。)パラメーター1として持っているのでconnect.inc.php、なぜメッセージを受け取るのかわかりません。null given$stmt

私が間違っていることを誰かが知っていますか?

4

1 に答える 1