PHP PDO检查行是否存在两个WHERE条件
我正在尝试查找名为website的表中的行中存在的文本 其中,PHP PDO检查行是否存在两个WHERE条件,php,mysql,pdo,Php,Mysql,Pdo,我正在尝试查找名为website的表中的行中存在的文本 其中,uid是INT,而domain是String 如果找到该行并且uid和domain都匹配。它应该输出success 如果行值不存在,则应输出nothing 用户以输入形式提供UID和domain 使用下面的代码,它不工作。我不确定我做错了什么 $stmt = $conn->prepare('SELECT * FROM website WHERE uid=:uid AND domain=:domain'); $stmt->
uid
是INT,而domain
是String
如果找到该行并且uid
和domain
都匹配。它应该输出success
如果行值不存在,则应输出nothing
用户以输入形式提供UID
和domain
使用下面的代码,它不工作。我不确定我做错了什么
$stmt = $conn->prepare('SELECT * FROM website WHERE uid=:uid AND domain=:domain');
$stmt->bindParam(1, $_GET['uid'], PDO::PARAM_INT);
$stmt->bindParam(2, $_GET['domain'], PDO::PARAM_STR);
$stmt->execute();
$row = $stmt->fetch(PDO::FETCH_ASSOC);
if($row)
{
echo "found";
}
else {
echo "nothing";
}
使用bindParam()
,第一个参数是绑定点。从手册
参数标识符用于使用命名
占位符,这将是表单的参数名称:name。暂时
使用问号占位符准备语句,这将是
1-参数的索引位置。
(我的重点)
在SQL中使用命名参数时,应使用
$stmt->bindParam('uid', $_GET['uid'], PDO::PARAM_INT);
等等
(不确定是否有重复项,如果找到,将删除)。占位符中缺少冒号。@El_Vanja,冒号是可选的。你活着,你学习。