[英]Object can't be converted to a string in MySQLi PHP
Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\\xampp\\htdocs\\xxx\\dash.php on line 20 可捕获的致命错误:在第20行的C:\\ xampp \\ htdocs \\ xxx \\ dash.php中,类mysqli_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. 我是相当新的人,并且是一名老式的编码员,仅使用mysql_result来获取此类数据,我不知道该如何处理。 I have a class->function setup. 我有一个课程->功能设置。
Line 20 of dash.php contains: dash.php的第20行包含:
echo $user->GetVar('rank', 'Liam', $mysqli);
While, the function is: 而,函数是:
function GetVar($var, $username, $mysqli)
{
$result = $mysqli->query("SELECT " . $var . " FROM users WHERE username = '" . $username . "' LIMIT 1");
return $result;
$result->close();
}
Now, to my understanding, I am meant to convert $result into a string, but I am not fully aware of how to do so. 现在,据我了解,我打算将$ result转换为字符串,但是我并不完全知道该怎么做。 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. 因此,我来到社区希望获得答案,我也环顾四周,但注意到所有其他线程都在请求num_rows,而我只是想从查询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];
}
Then use your function: 然后使用您的函数:
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. 不要将用户输入直接附加到查询中。
Read this tutorial. 阅读本教程。 it explain how to read and display data from a dataabse 它说明了如何读取和显示数据表中的数据
if ($result = $mysqli->query($query)) {
while($row = $result->fetch_object()) {
echo row['column_name'];
}
}
$result->close();
where you see 'column_name put the name of the column you want to get the string from. 您在其中看到'column_name的位置放置了要从中获取字符串的列的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.