PDO 绑定参数不起作用
Binding parameters by PDO not working
我有这个代码:
$conn = new mysqli($servername, $username, $password, $dbname);
$jsonvprencode = json_encode($jsonvpr);
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = :val WHERE `ID` = $idvpr");
$stmt->bind_param(":val", $jsonvprencode);
$stmt->execute();
尝试执行时 returns Fatal error: Call to a member function bind_param() on a non-object in /var/www/html/crawlnew.php on line 432
我不明白这是怎么回事-_-
您必须打开一个 PDO 连接
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
然后使用这个对象
带有 PreparedStatements 的 MySQLi
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = ? WHERE `ID` = ?");
$stmt->bind_param("si", $jsonvprencode,$idvpr);
带有预处理语句的 PDO
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = :jsonvprencode WHERE `ID` = :idvpr");
$stmt->bindParam(':jsonvprencode', $jsonvprencode);
$stmt->bindParam(':idvpr', $idvpr);
我认为你的陈述有误。
printf("Errormessage: %s\n", $conn->error);
如果有错误,请尝试回显错误。如果您的陈述有误,您就没有得到正确的对象。
我有这个代码:
$conn = new mysqli($servername, $username, $password, $dbname);
$jsonvprencode = json_encode($jsonvpr);
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = :val WHERE `ID` = $idvpr");
$stmt->bind_param(":val", $jsonvprencode);
$stmt->execute();
尝试执行时 returns Fatal error: Call to a member function bind_param() on a non-object in /var/www/html/crawlnew.php on line 432
我不明白这是怎么回事-_-
您必须打开一个 PDO 连接
$dbh = new PDO('mysql:host=localhost;dbname=test', $user, $pass);
然后使用这个对象
带有 PreparedStatements 的 MySQLi
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = ? WHERE `ID` = ?");
$stmt->bind_param("si", $jsonvprencode,$idvpr);
带有预处理语句的 PDO
$stmt = $conn->prepare("UPDATE `wp_posts` SET `post_content` = :jsonvprencode WHERE `ID` = :idvpr");
$stmt->bindParam(':jsonvprencode', $jsonvprencode);
$stmt->bindParam(':idvpr', $idvpr);
我认为你的陈述有误。
printf("Errormessage: %s\n", $conn->error);
如果有错误,请尝试回显错误。如果您的陈述有误,您就没有得到正确的对象。