簡體   English   中英

php mysql從數據庫檢索單個值

[英]php mysql retrieving single value from database

大家好,這確實是一個菜鳥問題,但是由於某種原因,我似乎無法從數據庫中獲得單個值。

這是我正在使用的代碼:

$stmt = $pdo->prepare("SELECT column FROM teacher WHERE id = :id")
$stmt->bindParam(':id', $id);
$stmt->execute();

$oldValue = $stmt->fetchColumn();

我確實在代碼中過濾了變量,因為我將它們作為發布數據存儲在此文件中,這是該部分的代碼:

$column = filter_input(INPUT_POST, "column", FILTER_SANITIZE_STRING);
$id = filter_input(INPUT_POST, "id", FILTER_SANITIZE_STRING);
$value = filter_input(INPUT_POST, "value", FILTER_SANITIZE_STRING);

在同一文件中,更新數據庫可以正常工作,因此連接數據庫可能不是問題。 請幫忙! 謝謝

來自$ stmt的完整錯誤:

致命錯誤:消息為“ SQLSTATE [42000]”的未捕獲的異常“ PDOException”:語法錯誤或訪問沖突:1064 SQL語法有錯誤; 檢查與您的MySQL服務器版本相對應的手冊以獲取正確的語法,以在“來自教師的列WHERE id =?”附近使用 在/var/www/duties/testTableDataUpload.php:25堆棧中的第1行:#0 /var/www/duties/testTableDataUpload.php(25):PDO-> prepare('SELECT column F ...')#在第25行的/var/www/duties/testTableDataUpload.php中拋出1個{main}

我知道這不是答案,只是嘗試將代碼發布到OP。

jQuery的:

var data="id="+id;
        $.ajax({
            type:"POST",
            data: data,
            url:"somePHPdbPage.php",
            success: function(result){
            $('#blah').html(result);
            }
    });

然后在主頁上的某處執行以下操作:

 <div id='blah'></div>

這樣做是將結果添加到div blah中。 並且您應該在主頁上清楚地看到它。 然后選擇c / p。 必須走了一點。 將重新簽入。

並在您的php頁面上:

$stmt = $pdo->prepare("SELECT column FROM teacher WHERE id = :id")
$stmt->bindParam(':id', $id);
$stmt->execute();
print_r($stmt->errorInfo());

column是MySQL中的保留字 ,必須使用'`'進行轉義。 您還缺少行尾的分號。 請嘗試以下操作:

$stmt = $pdo->prepare("SELECT `column` FROM teacher WHERE id = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();

$oldValue = $stmt->fetch();

也許問題出在您的數據上,但是如果有重復的數據,則可以使用以下方法之一:

$stmt = $pdo->prepare("SELECT distinct column FROM teacher WHERE id = :id")

要么

$stmt = $pdo->prepare("SELECT column FROM teacher WHERE id = :id limit 1")

如果您在示教表格中有一列名為“ first_name”的列,則應該能夠執行以下操作

$stmt = $pdo->prepare("SELECT first_name FROM teacher WHERE id = :id ORDER BY id DESC limit 1")
$stmt->bindParam(':id', $id);
$stmt->execute();

$row = $stmt->fetch(PDO:FETCH_ASSOC);
echo $row['first_name']; //Will print out the first name (if that is a column in your table of course)

暫無
暫無

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

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