对象无法在 MySQLi PHP 中转换为字符串
可捕获的致命错误:第 20 行 C:xampphtdocsxxxdash.php 中的类 mysqli_result 的对象无法转换为字符串
Catchable fatal error: Object of class mysqli_result could not be converted to string in C:xampphtdocsxxxdash.php on line 20
我是一个相当新的人,作为一个老派的编码员,只是使用 mysql_result 来获取这些数据,我不知道如何去做.我有一个类-> 功能设置.
I am quite fairly new, and being a old-school coder, simply using mysql_result to grab such data, I am unaware of how to go about this. I have a class->function setup.
dash.php 的第 20 行包含:
Line 20 of dash.php contains:
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,而我只想从查询选择中获取字符串.
Now, to my understanding, I am meant to convert $result into a string, but I am not fully aware of how to do so. I've tried using a few methods, but to no avail. So I've come to the community to hopefully get a answer, I've also looked around but noticed that all other threads are asking for num_rows, while I just want to grab the string from the query select.
推荐答案
在回显结果之前,您必须先获取它.粗略示例:
You have to fetch it first before echoing the results. Rough Example:
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);
重要提示:既然你刚开始,请检查准备好的语句.不要直接在您的查询中附加用户输入.
Important Note: Since you're starting out, kindly check about prepared statements. Don't directly append user input on your query.
相关文章