문제

나는 php pdo를 배우고있다. 내 환경은 : NetBeans 6.5.1, XAMPP 1.7.0 이며이 코드가있어 연결되는 것 같습니다.

  • dbname을 존재하지 않는 것으로 변경하면 예외가 발생합니다. "DB는 존재하지 않습니다".
  • 사용자를 변경하면 "잘못된 로그인"이 발생합니다)

그러나 $ cn-> 쿼리를 호출하면 다음과 같습니다.

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 ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top