繁体   English   中英

MySQL上的PHP PDO查询未按预期返回

[英]PHP PDO query on MySQL does not return as expected

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

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

PPS是的,我知道,可以加密。 为了简单起见,我不打扰。

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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM