我正在尝试使用PHP脚本从服务器获取Status列的值。我收到以下错误:
<b>Catchable fatal error</b>: Object of class mysqli_result could not be converted to string in <b>C:\xampp\htdocs\loginstatuscheck.php</b> on line <b>21</b><br />
我非常熟悉PHP脚本。插入工作正常,我试图执行获取查询的相同行。我目前的PHP脚本如下:
<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "iFocusBlogs";
$obtaineduserName = urldecode($_POST['enteredusername']);
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$query_get_status = "SELECT Status FROM LoginTable WHERE UserName ='" .$obtaineduserName. "'";
// perform the query and store the result
$result = $conn->query($query_get_status);
echo $result;
//if ($conn->query($query_get_status) === TRUE) {
// echo $result;
//} else {
echo "Error: " . $result . "<br>" . $conn->error;
//}
mysql_close();
$conn->close();
?>
请让我知道我是否正确查询,请告诉我必须执行哪些更改才能执行查询。欢迎所有建议。提前谢谢。
答案 0 :(得分:1)
您无法在对象上使用echo
。
如果您想查看对象的内容,可以使用var_dump($var);
以下是转储符合您请求的所有SQL行的方法:
while($obj = $result->fetch_object()){
var_dump($obj);
}
由于您似乎要求使用唯一的行,您只需使用:
$query_get_status = "SELECT Status FROM LoginTable WHERE UserName ='" .$obtaineduserName. "'";
// perform the query and store the result
$result = $conn->query($query_get_status);
var_dump($result->fetch_object());
使用fetch_object()
将mysql结果转换为对象,然后可以访问其属性。
$result = $conn->query($query_get_status)->fetch_object();
$status = $result->Status;