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语句