gpt4 book ai didi

php - 警告:PDOStatement::execute():SQLSTATE[HY093]:

转载 作者:行者123 更新时间:2023-11-29 03:08:09 24 4
gpt4 key购买 nike

我正在尝试开始掌握 PHP 和 PDO。因为我现在开始,我听说 PDO 更有益,这就是为什么我没有使用更流行的 mysqli。

我无法使用 PDO 将数据插入我的数据库。我想尝试使用准备好的语句来最小化 sql 注入(inject)。我尝试了很多方法,但一直碰壁。

请给我一些建议。

这是错误信息。

Warning: PDOStatement::execute(): SQLSTATE[HY093]: Invalid parameter number: parameter was not defined in C:\wamp\www\test-search\insert_property.php on line 61

这是相关的php代码。



// Insert Property

// Include db

include 'db_connect_pdo.php';
include 'defines.php';

try {

// create SQL
$sql = "INSERT INTO property (pid, title, intro_en, description_en, bedrooms,
bathrooms, address, city, country, stype, ptype, price)
VALUES(:pid, :title, :intro_en, :description_en, :bedrooms, :bathrooms, :address,
:city, :country, :stype, :ptype, :price)";

// prepare the statement
$stmt = $conn->prepare($sql);


// bind the parameters and execute the statement
$stmt->bindValue(':pid', $pid);

$stmt->bindValue(':title', $title);

$stmt->bindValue(':intro_en', $intro_en);

$stmt->bindValue(':description_', $description_en);

$stmt->bindValue(':bedrooms', $bedrooms);

$stmt->bindValue(':bathrooms', $bathrooms);

$stmt->bindValue(':address', $address);

$stmt->bindValue(':city', $city);

$stmt->bindValue(':country', $country);

$stmt->bindValue(':stype', $stype);

$stmt->bindValue(':ptype', $ptype);

$stmt->bindValue(':price', $price);



// execute the statement

$stmt->execute();

}
catch (Exception $e)
{
echo $e->getMessage();
}
$conn = null;
?>
</blockquote></code>

不确定哪里出了问题,任何建议将不胜感激。

最佳答案

你的错误是这一行:

$stmt->bindValue(':description_', $description_en);

应该是:

$stmt->bindValue(':description_en', $description_en);

关于php - 警告:PDOStatement::execute():SQLSTATE[HY093]:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12341861/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com