无法在MySQLi PHP中将对象转换为字符串 [英] Object can't be converted to a string in MySQLi PHP

查看:60
本文介绍了无法在MySQLi PHP中将对象转换为字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

Catchable fatal error: Object of class mysqli_result could not be converted to string in C:\xampp\htdocs\xxx\dash.php on line 20

我是相当新的人,并且是一名老式的编码员,仅使用mysql_result来获取此类数据,我不知道该如何处理.我有一个class->功能设置.

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,而我只是想从查询select中获取字符串.

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.

这篇关于无法在MySQLi PHP中将对象转换为字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆