[英]SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
[英]Error: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined
我需要将name
、 lastname
、 number
和email
到数据库。 我创建了这个代码:
<?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.