Home >Backend Development >PHP Tutorial >Why Does My PHP Code Throw 'Object of class mysqli_result could not be converted to string'?
The error message "Object of class mysqli_result could not be converted to string" arises when attempting to treat a mysqli_result object as a string. This commonly occurs when a PHP script fails to properly handle the result obtained from a MySQL query using the mysqli_query() method.
To address this error, it is essential to understand the nature of the mysqli_result object. The mysqli_query() method does not return a string but rather an object that contains the rows returned by the query. Therefore, attempting to use this object directly as a string, as in the example code, will trigger the aforementioned error.
The correct approach involves iterating through the result object to retrieve individual rows and their corresponding values. This can be achieved using the fetch_assoc() or fetch_array() methods to access the rows in the result object as associative or indexed arrays, respectively.
The code snippet provided in the solution demonstrates how to properly iterate through the result object and display the 'classtype' value for each row using the fetch_assoc() method:
$result = mysqli_query($con, "SELECT classtype FROM learn_users WHERE username='abcde'"); while ($row = $result->fetch_assoc()) { echo $row['classtype'] . "<br>"; }
By employing this approach, the script successfully processes the query result and outputs the 'classtype' value for the specified username without encountering the "Object of class mysqli_result could not be converted to string" error.
The above is the detailed content of Why Does My PHP Code Throw 'Object of class mysqli_result could not be converted to string'?. For more information, please follow other related articles on the PHP Chinese website!