【发布时间】:2019-08-11 21:40:40
【问题描述】:
如果有人能帮助我解决正在发生的问题,我非常感激。错误将是使用 PDO 连接的 bind_param ()。
致命错误:在第 25 行调用未定义的方法 PDOStatement::bind_param()
setlocale(LC_MONETARY,"en_US");
if(isset($_POST["id"])) {
foreach($_POST as $key => $value){
$product[$key] = filter_var($value, FILTER_SANITIZE_STRING);
}
$statement = app('db')->prepare("SELECT as_produtos.nome, as_produtos.preco FROM as_produtos WHERE id = ? LIMIT 1");
$statement->bind_param('s', $product['id']);
$statement->execute();
$statement->bind_result($product_name, $product_price);
while($statement->fetch()){
$product["product_name"] = $product_name;
$product["product_price"] = $product_price;
if(isset($_SESSION["products"])){
if(isset($_SESSION["products"][$product['id']])) {
$_SESSION["products"][$product['id']]["product_qty"] = $_SESSION["products"][$product['id']]["product_qty"] + $_POST["product_qty"];
} else {
$_SESSION["products"][$product['id']] = $product;
}
} else {
$_SESSION["products"][$product['id']] = $product;
}
}
$total_product = count($_SESSION["products"]);
die(json_encode(array('products'=>$total_product)));
}
if(isset($_GET["remove_code"]) && isset($_SESSION["products"])) {
$product_code = filter_var($_GET["remove_code"], FILTER_SANITIZE_STRING);
if(isset($_SESSION["products"][$product_code])) {
unset($_SESSION["products"][$product_code]);
}
$total_product = count($_SESSION["products"]);
die(json_encode(array('products'=>$total_product)));
}
if(isset($_GET["update_quantity"]) && isset($_SESSION["products"])) {
if(isset($_GET["quantity"]) && $_GET["quantity"]>0) {
$_SESSION["products"][$_GET["update_quantity"]]["product_qty"] = $_GET["quantity"];
}
$total_product = count($_SESSION["products"]);
die(json_encode(array('products'=>$total_product)));
}
【问题讨论】:
-
如果对您有帮助,请查看此帖子stackoverflow.com/questions/18702772/…
-
bind_param() 来自 mysqli,而不是 PDO。 bindParam() 是你想要的。但是请查看手册,因为它的工作方式并不完全相同
-
感谢您提供的信息,它帮助很大。
标签: php