Php SQL从表中获取值

Php SQL从表中获取值,php,mysql,function,mysqli,Php,Mysql,Function,Mysqli,我试图编写一个函数,从数据库中的表中获取一个值。我成功地保存了一个值,但现在我遇到了问题 我有一个名为Response的表,其中有多个列。其中一个是名为processed的列,但我希望它适用于任何列 function fetch($columnName, $senderID){ $qry = "SELECT '$columnName' FROM Response WHERE senderID = '$senderID'"; $conn = $this->connect();


我试图编写一个函数,从数据库中的表中获取一个值。我成功地保存了一个值,但现在我遇到了问题

我有一个名为Response的表,其中有多个列。其中一个是名为processed的列,但我希望它适用于任何列

function fetch($columnName, $senderID){
    $qry = "SELECT '$columnName' FROM Response WHERE senderID = '$senderID'";
    $conn = $this->connect();

    if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);
    }

    if ($result = $conn->query($qry) === TRUE) {
        return $result;
    }
    $conn->close();
}
然后我想将数据库值放入一个变量

 $val = $db->fetch('processed', $senderID);


但是我的代码不起作用。当我试图检查$val中保存的内容时,我什么也没有得到。

代码的问题在于使用

$result = $conn->query($qry) === TRUE
您正在检查查询是否返回
TRUE
,但实际得到的是
TRUE
。因此,你的条件总是错误的。所以把它改成

$result = $conn->query($qry) == TRUE
我会成功的

使用
==
比较运算符意味着该值在所有方面都应与您定义的值相同


您可以使用
==
比较运算符来检查值是否等于给定值。

为什么在列名周围加引号?删除列名和$senderID周围的引号,使用concat运算符,就像使用函数错误一样,尝试$db->fetch($senderID,'processed');我在某处看到引用。我将删除它们,并查看我很抱歉在这里键入$val时意外地切换了它们。在代码中,它的顺序是正确的,但仍然不起作用。不,它不起作用。我在一个文件中有一个名为Database的类。然后在我调用它的文件中(其中$val=$db->fetch…)包括“filewithdatabase”;然后使用$db=newdatabase();我使用相同的过程来添加数据库记录,我有一个名为save的函数,它可以工作。我在$val=$db->fetch上面几行调用它。。。因此,通过尝试获取$val,可以正确链接文件-我正在尝试立即显示它,但它不显示任何内容。我尝试替换返回的$result,但它没有显示。然后我把它放在顶部,“Working”确实显示出来了。我只是注意到,如果($result…==TRUE){…}Else{//每次都执行这个代码},那么我们尝试的所有$sql都会进入Else语句