【发布时间】:2015-02-19 05:57:31
【问题描述】:
为什么我的代码不起作用。救命啊,没看出有什么不对。如果我使用 user_id=$current_user 而不是 user_id=:current_id,它可以工作。但出于安全原因,我需要做好准备。请帮忙。
<?php
$hostname = 'localhost';
$username = '**';
$password = '**';
$dbname = '**';
try {
$db = new PDO("mysql:host=$hostname;dbname=$dbname", "$username" ,"$password" ,
array(PDO::ATTR_EMULATE_PREPARES => false, PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
} catch (PDOException $e) {
echo" There was an error with the connection";
}
$current_user=$_POST['users_id'];//get user id
include 'db_tag.php';
$stmt=$db->prepare("DELETE FROM object_sign WHERE user_id=:current_id");
$stmt->bindParam(":current_id",$current_user,PDO::PARAM_INT);
$stmt->execute();
?>
【问题讨论】:
-
你得到什么错误?
-
在萤火虫中,它说 NetworkError: 500 Internal Server Error
-
签入响应/预览错误
-
尝试从 PDO 构造函数中删除
PDO::ATTR_EMULATE_PREPARES => false -
@conan,您可以查看我的回答并告诉我您的反馈,以便我帮助您解决问题。
标签: php mysql pdo prepared-statement