簡體   English   中英

錯誤:SQLSTATE[HY093]:無效的參數號:未定義參數

[英]Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

我需要將namelastnamenumberemail到數據庫。 我創建了這個代碼:

<?php
  echo $name;echo "<br>";
  echo $lastname;echo "<br>";
  echo $email;echo "<br>";
  echo $celnumber;echo "<br>";
  $servername = "localhost";
  $username = "usertest1";
  $password = "1234";
  $dbname="usertest1";
  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 tabela_script (name, lastname, email, celnumber)
      VALUES (:name, :lastname, :email, :celnumber)");
      $stmt->bindParam(':firstname', $name);
      $stmt->bindParam(':lastname', $lastname);
      $stmt->bindParam(':email', $email);
      $stmt->bindParam(':celnumber', $celnumber);
      $stmt->execute();

      echo "New record created successfully";
      }
  catch(PDOException $e)
      {
      echo "Error: " . $e->getMessage();
      echo "<br>";
      echo "<a href=\"main_html.html\"><h1>TRY AGAIN</h1></a>";
      }
  $conn = null;?>

並得到以下錯誤:

錯誤:SQLSTATE[HY093]:無效的參數號:未定義參數

我必須在本地服務器上嘗試以下代碼。

改變

$stmt->bindParam(':firstname', $name);

$stmt->bindParam(':name', $name);

問題是確切名稱不匹配,這就是為什么返回這樣的Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

當您的 PDO 語句中的數據庫列名錯誤時,可能會發生此錯誤。 在針對此錯誤嘗試了多種答案后,終於找到了解決方案。

暫無
暫無

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

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