我正在尝试查询数据库以检查用户是否拥有某个项目。假设$ username是bob而$ databaseVar是greenJacket。数据库单元格中绿色夹克的值是1表示拥有,0表示不拥有。但是,当我调用最后一行时,返回$ result-> $ databaseVar,它总是会返回“greenJacket”,即数据库变量的名称。这很糟糕,因为我想要的是数据库变量的值。我尝试了很多东西,无法弄明白。有什么帮助吗?
public function checkIfItemOwned($username, $databaseVar)
{
$query = $this->connection->query("SELECT '$databaseVar' FROM items WHERE name='$username';");
if ($result = $query->fetch_object())
{
return $result->$databaseVar;
}
else
{
return false;
}
}
答案 0 :(得分:2)
正确的SQL语法应该是:(注意``
和''
符号)
SELECT `$databaseVar` FROM items WHERE name='$username';
否则,您只需选择字符串值$databaseVar
。