2017-04-22 43 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子句是您如何选择要提取的行。 –

相关问题