如何用PHP做预备语句[重复]

问题描述 投票:0回答:1

这个问题在这里已有答案:

我正在努力做一个准备好的声明。我的代码如下。我使用PHP和MySQLi。我收到此错误消息:

致命错误:在/ path / path /中的非对象上调用成员函数prepare()

$sql = "INSERT INTO person(name, $lastname)
VALUES (?, ?)";
$stmt = $sql->prepare($sql);
$stmt->bind_param("ss", $name, $lastname);
$name= '?';
$lastname='?';
$stmt->execute();

错误消息指向此行:

$stmt = $sql->prepare($sql);

有什么问题?

php mysql mysqli prepared-statement
1个回答
-1
投票

你用一个字符串来踩踏你的数据库连接,然后一切都变得狂暴。修复:

$stmt = $db->prepare("INSERT INTO person(name, lastname) VALUES (?, ?)");
$stmt->bind_param("ss", $name, $lastname);
$name= '?';
$lastname='?';
$stmt->execute();

这里$db是你的数据库连接,无论用new mysqli(...)创建的地方。

© www.soinside.com 2019 - 2024. All rights reserved.