在MySQLi PHP中无法将对象转换为字符串

时间:2014-09-05 13:11:40

标签: php mysql mysqli

  

捕获致命错误:类mysqli_result的对象无法在第20行的C:\ xampp \ htdocs \ xxx \ dash.php中转换为字符串

我是一个相当新的人,作为一个老派的程序员,只是使用mysql_result来获取这些数据,我不知道该怎么做。我有一个class->函数设置。

dash.php的第20行包含:

echo $user->GetVar('rank', 'Liam', $mysqli);

虽然,功能是:

function GetVar($var, $username, $mysqli)
    {
        $result = $mysqli->query("SELECT " . $var . " FROM users WHERE username = '" . $username . "' LIMIT 1");
        return $result;
        $result->close();
    }

现在,根据我的理解,我的意思是将$ result转换为字符串,但我并不完全知道如何这样做。我尝试过使用一些方法,但无济于事。所以我来到社区希望得到答案,我也环顾四周但注意到所有其他线程都要求num_rows,而我只是想从查询选择中获取字符串。

3 个答案:

答案 0 :(得分:3)

在回显结果之前,您必须先获取它。粗略的例子:

function GetVar($var, $username, $mysqli) {
    // make the query
    $query = $mysqli->query("SELECT ".$var." FROM users WHERE username = '".$username."' LIMIT 1");
    $result = $query->fetch_assoc(); // fetch it first
    return $result[$var];
}

然后使用你的功能:

echo $user->GetVar('rank', 'Liam', $mysqli);

重要提示:由于您已开始使用,请查看prepared statements。不要直接在查询中附加用户输入。

答案 1 :(得分:0)

阅读本教程。它解释了如何从数据库中读取和显示数据

Select Data From a Database Table

答案 2 :(得分:0)

if ($result = $mysqli->query($query)) {
    while($row = $result->fetch_object()) {
            echo row['column_name'];
        }
}
$result->close();

你看到' column_name把你要获取字符串的列的名称。

相关问题