簡體   English   中英

SQLSTATE [HY000]:一般錯誤和array(0){}

[英]SQLSTATE[HY000]: General error and array(0){}

在我的pdo腳本中,我正在查詢數據庫以給我本地計算機上數據庫中的所有用戶,但是我看到的只是“ SQLSTATE [HY000]:常規錯誤”

這是我的劇本;

<?php
ini_set('display_errors','on');
require_once('connect.php');

try{

$username='charlyo';
$con=$connect->query('select * from users where username=:username');
var_dump($con->fetchAll());
}
catch(PDOException $e){
   echo $e->getMessage();

}

 ?>

在解決它時,我嘗試使用准備好的語句。 現在,當我使用fetchAll方法時,我沒有返回任何數組就得到了“ array(0){}”。

這是prepared語句的第二個腳本:

<?php
ini_set('display_errors','on');
require_once('connect.php');

try{

$username='charlyo';
$con=$connect->prepare('select * from users where username=:username');
$con->bindParam(':username',$username);
$con->execute();
var_dump($con->fetchAll());
}
catch(PDOException $e){
   echo $e->getMessage();

}

 ?>

您還應該發布文件connect.php的內容,以便我們可以確定如何實例化PDO對象(請確保刪除密碼)。

在PDO中,默認情況下不支持堆疊查詢(多個查詢,用;分隔),必須啟用仿真模式( PDO::ATTR_EMULATE_PREPARES ),但在您的情況下確實不需要。

為了使第二個示例正常工作,您應該刪除use charles; 部分,並確保將您提供的DSN中的dbname=charles傳遞給PDO的構造函數。

刪除use charles; 從查詢。 我不確定您為什么使用它,但是將其從查詢和檢查中刪除。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM