繁体   English   中英

phppdo¿我做错了什么?

[英]php pdo ¿What am I doing wrong?

我正在学习php pdo; 我的环境是:NetBeans 6.5.1,XAMPP 1.7.0和我有这个代码,它似乎连接。

  • 如果我将dbname更改为不存在的,则会引发异常“db not exists”
  • 如果我更改用户,则会引发“登录错误”)

但是当我调用$ cn-> query时,它会引发:

apache.exe中发生未处理的Win32异常

我究竟做错了什么?

$hostname = 'localhost';
$username = 'crb';
$password = 'letmein';
try {
    $cn = new PDO("mysql:host=$hostname;dbname=bitacora", $username, $password);
    echo 'Connected to database<br />';
    $sql = "SELECT * FROM usuario WHERE login = '".$login."' AND clave = '".$clave."'";
    // Error here
    foreach ($cn->query($sql) as $row) {
        print $row['login'] .' - '. $row['clave'] . '<br />';
    }
} catch (PDOException $e) {
    echo $e->getMessage();
} catch (Exception $e) {
    echo $e->getMessage();
}

这是XAMPP 1.7.0中的一个错误。 升级到1.7.1或按照这些说明修复1.7.0安装。

$ cn有效吗? 检查返回值。 到目前为止你所描述的并没有让我相信你已经联系了。

如果您还没有,我会确保您的环境正常运行。

  1. 检查以确保用户使用MySQL本身(使用类似mysqlquery的东西)。
  2. 检查以确保php可以连接到MySQL。 我在所有新设置上安装了phpmyadmin(即使我没有留下它),以确保我有一个良好的工作连接。
  3. 让PDO通过错误例外(参见http://us2.php.net/manual/en/pdo.error-handling.php )来查看错误发生的位置。

我的猜测是你没有连接到MySQL,这可以解释无法更改数据库。

暂无
暂无

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

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