PHP SQl查询中的可捕获致命错误

时间:2015-05-27 10:23:20

标签: php mysql

我正在尝试使用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();
?>

请让我知道我是否正确查询,请告诉我必须执行哪些更改才能执行查询。欢迎所有建议。提前谢谢。

1 个答案:

答案 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;