簡體   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