簡體   English   中英

PHP PDOException 錯誤中的 POST 方法錯誤

[英]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.

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