再會!
我正在構建一個將資料插入到 mySQL 資料庫的虛擬應用程式表單。運行這些函式時,我成功地將資料插入到資料庫中。但是,當函式成功運行時,我收到錯誤SQLSTATE[HY000]: General error
我以為它發生在我的資料庫訪問功能中,但似乎連接正常。這是我的資料庫訪問功能:
function connectToDB($params)
{
try
{
$conn = new PDO('mysql:host=localhost;dbname=test', 'root', '');
$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$stmt = $conn->prepare($params['sql']);
$stmt->execute($params['bindParam']);
$results = array();
$results['rowCount'] = $stmt->rowCount();
if($results['rowCount'] == 1)
{
$results = $stmt->fetch(PDO::FETCH_ASSOC);
return $results;
} elseif($results['rowCount'] < 2) {
$results = $stmt->fetch(PDO::FETCH_ASSOC);
return $results;
} elseif($results['rowCount'] > 2) {
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $results;
} elseif($results['rowCount'] == 2) {
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
return $results;
}
} catch (PDOException $e) {
echo "Connection failed: " . $e->getMessage();
}
return $params;
}
我的代碼中是否缺少某些內容,或者我的資料庫訪問代碼中是否有某些內容?我希望從中學習以在將來應用它,同時我仍在嘗試學習/改進我的 PHP。我希望我盡我所能解釋我的問題,感謝您的閱讀時間!
謝謝
uj5u.com熱心網友回復:
你不使用fetchAll().
$results = $stmt->fetchAll(PDO::FETCH_ASSOC);
帶有插入查詢。洗掉此陳述句應該可以解決您的問題。記住代碼中的每次 fetch 和 fetchAll。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/484583.html
