我一直在使用PHP开发iOS网络服务,但运气不佳。我试图安全地查询数据库,并在名称和密码匹配时选择用户的ID。不幸的是,页面上没有任何显示。我认为这意味着查询在某处出错。我尝试使用静态值,但无济于事。有任何想法吗?

附言我很肯定这些值是正确的。

P.P.S.是的,我知道,加密。为了简单起见,我不打扰。

error_reporting(E_ALL);
ini_set('display errors', 1);

try {
    $DBH = new PDO("mysql:host='localhost';dbname='login_test'", 'test', 'development');
    $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
    echo e->getMessage();
}

$data = array($_GET['name'], $_GET['password']);

$STH = $DBH->prepare('SELECT id FROM users WHERE name = ? AND password = ?');
$STH->execute($data);

$row = $STH->fetch(PDO::FETCH_ASSOC);
print '<pre>';
print_r($row);

最佳答案

尝试一下 ,

try {
   $DBH = new PDO("mysql:host='localhost';dbname='login_test'", 'test', 'development');
   $DBH->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
   echo /*here*/ $e->getMessage();
}

$data = array($_GET['name'], $_GET['password']);
$STH = $DBH->prepare('SELECT id FROM users WHERE name = ? AND password = ?');
$STH->execute($data);
$row =$STH->fetch(PDO::FETCH_ASSOC)
print '<pre>';
print_r($row);

关于php - MySQL上的PHP PDO查询未按预期返回,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27327602/

10-11 03:05
查看更多