MySQL SELECT语句不会接受两个php变量

时间:2015-02-27 08:54:02

标签: php mysql database variables select

<?php
    function searchDatabase($key, $value)
    {
        $key = $key;
        $query = "SELECT * FROM user_data WHERE username='$value'";
        $result = mysqli_query(loadDatabase(), $query);
        $numRows = mysqli_num_rows($result);
        if ($numRows > 0)
        {
            return true;
        }
        else
        {
            return false;
        }
    }
?>

所以我使用此代码搜索我的数据库以显示键/值对上的匹配项,但$key在传递时未在我的数据库中找到正确的列进入查询功能。如果我用单词username替换它,它匹配正常。这是一个类型问题吗?我没有明确说明它的类型,所以我可以搜索具有相同功能的其他列。

username: varchar(40)

4 个答案:

答案 0 :(得分:2)

<?php
function searchDatabase($key, $value)
    {
        $query = "SELECT * FROM user_data WHERE ".$key." = '".$value."'";
        $result = mysqli_query(loadDatabase(), $query);
        $numRows = mysqli_num_rows($result);
        return ($numRows > 0);
    }
?>

答案 1 :(得分:0)

试试这个

$query = "SELECT * FROM user_data WHERE ".$key."='$value'";

答案 2 :(得分:0)

像这样:

function searchDatabase($key, $value)
{
  $query = "SELECT * FROM user_data WHERE $key='$value'";
  $result = mysqli_query(loadDatabase(), $query);
  $numRows = mysqli_num_rows($result);
  return ($numRows > 0);
}

答案 3 :(得分:0)

问题出在查询中。 PHP变量未在查询中正确回显。

<?php
function searchDatabase($key, $value)
    {
        $query = "SELECT * FROM user_data WHERE username='".$value."'";
        $result = mysqli_query(loadDatabase(), $query);
        $numRows = mysqli_num_rows($result);
        return ($numRows > 0);
    }
?>