我尝试从数据库中选择数据,但是当我在WHERE之后有两个参数时我无法获取它。该工程如何在使用PDO的WHERE之后使用两个参数进行选择?
代码:
$conn = null;
$host = 'localhost';
$db = 'database';
$user = 'root';
$pwd = 'root';
$auth = 'EP';
$nr = 2007;
try {
$conn = new \PDO('mysql:host='.$host.';dbname='.$db, $user, $pwd);
$stmt = $conn->prepare('SELECT family FROM table WHERE nr = :nr');
$stmt->execute(array('nr' => $nr));
while($row = $stmt->fetch(PDO :: FETCH_ASSOC)) {
echo '<pre>';
print_r($row);
echo '</pre>';
}
}
catch(PDOException $e) {
echo 'ERROR: ' . $e->getMessage();
}
但是当我使用以下选择它不起作用:
SELECT family FROM table WHERE auth = :auth AND nr = :nr
我认为这是在该行的一个问题
$stmt->execute(array('nr' => $nr));
当我做了以下我没有在屏幕上的结果:
$stmt->execute(array('nr' => $nr, 'auth' => $auth));
有没有人知道我做错了什么?
非常感谢提前!
你得到任何错误?也许你没有任何与'nr'和'auth'相匹配的行,也检查查询。 – 2014-11-02 16:05:47
Olá@MarcioSimao没有任何错误!!! 奇怪的是,当我写o nly: $ stmt = $ conn-> prepare('SELECT * FROM publn_data WHERE publn_nr =:publn_nr'); (数组(':publn_nr'=> $ publnNr)); 它的工作原理... Algumaidéia? – 2014-11-02 16:28:01
Opa!直接在数据库中搜索,你会得到任何结果?你使用的是本地还是远程服务器? – 2014-11-02 16:33:19