[英]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.