我在学习php公设辩护人;我的环境是://需要将物品寄6.5.1,XAMPP1.7.0和我有这样的代码,其它似乎连接。

  • 如果我改变dbname到一个不存在的一个,它提出了异常"db不存在"
  • 如果我改变用户的,它提出了"登陆错误")

但当我打电话$cn->查询的,它提出了:

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

我做错了什么?

$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();
}
有帮助吗?

解决方案

这是一个错误在XAMPP1.7.0.升级到 1.7.1 或跟随 这些指令 修复你的1.7.0安装。

其他提示

是$cn有效?检查返回的价值。你描述的是什么迄今没有说服我,你连接。

如果您已经没有我确定您的环境中工作的权利。

  1. 检查以确保用户与MySQL本身(使用类似mysqlquery).
  2. 检查以确保php可以connect to MySQL.我头文件安装在所有新设置的(甚至如果我不把它留在地方),以确保我有一个良好的工作的连接。
  3. 有一项旨在通过例外在错误(见 http://us2.php.net/manual/en/pdo.error-handling.php)看到那里的错误发生。

我猜,你是不是曾经连接到MySQL,这就可以解释无法改变的数据库。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top