2017-04-22 102 views
0

我有一行數據,我試圖按列名檢索單個記錄。什麼都沒有回來。我究竟做錯了什麼?我是MySQL新手,對於我的語法表示歉意。使用pdo我如何通過列名獲取單個記錄

我的數據庫

 id  column1   column2  column3 

row  1  apple    orange   grape 

我的PHP代碼

<?php 

include("/secure/authdb.php"); 

     $submitdata = "orange"; 

     $SQL = $authdb -> prepare("SELECT `$submitdata` FROM `tablefruit` WHERE `id=1`"); 
     $SQL -> execute(); 
     $returnfruit = $SQL -> fetchColumn(0); 

     die($returnfruit); 

    ?> 
+1

在這段代碼中覆蓋太多的問題在這裏,但一個大的線索是陳述($ returnfruit); –

+0

您的'WHERE'子句與整個事物周圍的刻度不正確。它應該是應該打勾或根本不打勾的欄。 –

回答

0

想想

$SQL = $authdb -> prepare("SELECT `$submitdata` FROM `tablefruit` WHERE `id=1`"); 

應該

$SQL = $authdb -> prepare("SELECT `$submitdata` FROM `tablefruit` WHERE `id`=1"); 

即最後的引用不應該在id字段周圍,而不是整個位。

這是除了其他問題。您需要了解SQL的存在以及如何執行phpmyadmin等語句來首先檢查語法。

+0

我很抱歉我是新來的mysql – Offset

+0

如果你想要column1的值,那麼這應該到你有$ submitdata的地方。 WHERE子句是您如何選擇要提取的行。 –