PHP Вставить Подготовленный оператор - PullRequest
0 голосов
/ 05 июня 2018

Я просматривал различные посты относительно подготовленных заявлений.Я получаю следующую ошибку

ОШИБКА: Не удалось подготовить запрос: ВСТАВЬТЕ INTO contact (,,) VALUES (?,?).У вас есть ошибка в вашем синтаксисе SQL;проверьте руководство, соответствующее вашей версии сервера MySQL, чтобы найти правильный синтаксис для использования рядом со значениями ',,,) VALUES (?,?)' в строке 1

Не могу понять, почемуЯ получаю эту ошибку.Все, что я нахожу в Интернете, не помогло.Я надеюсь, что кто-то может указать мне правильное направление.

    // Check connection
     if($link === false){
     die("ERROR: Could not connect. " . mysqli_connect_error());
      }

    // Prepare an insert statement
   $sql = "INSERT INTO tablename (name, email) VALUES (?, ?)";

   if($stmt = mysqli_prepare($link, $sql)){
   // Bind variables to the prepared statement as parameters
   mysqli_stmt_bind_param($stmt, "ss", $name, $email);

   // Set parameters
   $name = $_REQUEST['name'];
   $email = $_REQUEST['email'];

   // Attempt to execute the prepared statement
   if(mysqli_stmt_execute($stmt)){
    echo "Records inserted successfully.";
      } else{
    echo "ERROR: Could not execute query: $sql. " . mysqli_error($link);
    }
   } else{
   echo "ERROR: Could not prepare query: $sql. " . mysqli_error($link);
    }

   // Close statement
   mysqli_stmt_close($stmt);

   // Close connection
   mysqli_close($link);
   ?>

Спасибо,

1 Ответ

0 голосов
/ 06 июня 2018

Нашел ответ по этому вопросу.

<?php
 $servername = "mysql";
 $username = "root";
 $password = "passwrd";
 $dbname = "dbname";

 try {
 $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username,
    $password);
 // set the PDO error mode to exception
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

// prepare sql and bind parameters
$stmt = $conn->prepare("INSERT INTO tablename (name, email, commtype, 
comment, confirm) 
VALUES (:name, :email, :commtype, :comment, :confirm)");
  $stmt->bindParam(':name', $name);
  $stmt->bindParam(':email', $email);
  $stmt->bindParam(':commtype', $commtype);
  $stmt->bindParam(':comment', $comment);
  $stmt->bindParam(':confirm', $confirm);

// insert a row
   $name = $_POST['name'];
   $email = $_POST['email'];
   $commtype = $_POST['commtype'];
   $comment = $_POST['comment'];
   $confirm = $_POST['confirm'];
   $stmt->execute();


   echo "New records created successfully";
   }
   catch(PDOException $e)
   {
   echo "Error: " . $e->getMessage();
    }
   $conn = null;
    ?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...