[英]POST method error in PHP PDOException error
我對 PHP 不是很好,但我正在編輯代碼並收到此消息:
致命錯誤:未捕獲的 PDOException:SQLSTATE[42S22]:未找到列:1054 C:\xampp\htdocs\t3\GetDataLeft.ZE1BFD762321E409CEE4AC0B6E89:4623 中的“where 子句”中的未知列“$id”跟蹤:19:46:24.779 -> #0 C:\xampp\htdocs\t3\GetDataLeft.php(42): PDOStatement->execute(Array) 19:46:24.827 -> #1 {main} 19:46: 24.860 -> 在第42行拋出C:\xampp\htdocs\t3\GetDataLeft.php
我的代碼是:
if (!empty($_POST)) {
$id = $_POST["ID"];
$pdo = Database::connect();
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$sql = 'SELECT ID, left_dir, LIST FROM dir WHERE ID = $id ;;';
$q = $pdo->prepare($sql);
$q->execute(array($id));
$data = $q->fetch(PDO::FETCH_ASSOC);
Database::disconnect();
echo $data['left_dir'];
在另一邊,我發布了這個值:
http.POST(ID=5)
當我在我的數據庫上手動執行 SQL 查詢時:
我找不到我在代碼中出錯的地方。
我發現我的問題是在 SQL 查詢中寫入變量! 而不是寫$id
它應該寫成這樣'. $id. '
'. $id. '
'. $id. '
所以這條線將是:
$sql = 'SELECT ID, left_dir, LIST FROM dir WHERE ID = ' . $id . ' ;;';
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.