簡體   English   中英

PHP插入准備語句

[英]PHP Insert Prepared Statement

我瀏覽有關准備好的陳述的不同文章。 我收到以下錯誤

錯誤:無法准備查詢:INSERT INTO聯系人(,,)值(?,?)。 您的SQL語法有誤; 檢查與您的MySQL服務器版本相對應的手冊,以在第1行的',,,,VALUES(?,?)'附近使用正確的語法

我似乎無法弄清楚為什么會出現此錯誤。 我在網上找到的所有內容都無濟於事。 我希望有人可以指出正確的方向。

    // 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);
   ?>

謝謝,

找到了這個問題的答案。

<?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;
    ?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM