捕获致命错误:类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,而我只是想从查询选择中获取字符串。
答案 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)
阅读本教程。它解释了如何从数据库中读取和显示数据
答案 2 :(得分:0)
if ($result = $mysqli->query($query)) {
while($row = $result->fetch_object()) {
echo row['column_name'];
}
}
$result->close();
你看到' column_name把你要获取字符串的列的名称。