繁体   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