简体   繁体   English

错误:SQLSTATE[HY093]:无效的参数号:未定义参数

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

I need to send the name , lastname , number and email to a database.我需要将namelastnamenumberemail到数据库。 I created this code:我创建了这个代码:

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

And getting the error below:并得到以下错误:

Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined错误:SQLSTATE[HY093]:无效的参数号:未定义参数

I have to try below code on my local server.我必须在本地服务器上尝试以下代码。

Change改变

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

To

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

The issue was exact name was not matched that's why to return the error like this Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined问题是确切名称不匹配,这就是为什么返回这样的Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined

This error can happen when you have the wrong column name from your database in your PDO statement.当您的 PDO 语句中的数据库列名错误时,可能会发生此错误。 Finally found that solution after trying many varieties of answers for this error.在针对此错误尝试了多种答案后,终于找到了解决方案。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM