我刚刚开始学习有关MySQL和PHP(基础知识)的知识,并且由于此错误我被困了两天。
我有HTML代码:

<html>
<head>
    <title>Title</title>
</head>
<body>
    <?php include 'pehape.php' ?>
<span>Username:</span><?php echo $var ?>
</body>
</html>


我只是想使用以下代码从数据库中获取用户名:

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";



$conn = new mysqli($servername, $username, $password, $dbname);

$var = $conn->query("SELECT Name FROM users WHERE ID=0");

?>


这就是我在Web浏览器中得到的结果。

Username:
Recoverable fatal error: Object of class mysqli_result could not be converted to string in /storage/ssd3/749/7441749/public_html/index.php on line 7


现在,我得到的结果是对象,但是我不知道如何使用PHP将其转换为字符串。
-有人知道如何解决此问题吗?将Object转换为字符串。

我已经尝试过使用print_r函数,但对我来说没有用。我发现的信息很少。此外,如果您需要一些信息,这就是我的数据库结构(我想这可能会产生影响,不知道):http://prntscr.com/l5xu9n

最佳答案

您代码中的$var实际上是mysqli_result类型的对象。

这实际上是结果集的句柄,您必须使用某种fetch从该句柄卸载结果。

<?php
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";

$conn = new mysqli($servername, $username, $password, $dbname);

// dont normally get ID's of zero so I chnaged this to 1
$result = $conn->query("SELECT Name FROM users WHERE ID=1");

// now get the result row
$row = $result->fetch_assoc();     // row will be an array

?>


现在,您可以在HTML中执行此操作

<html>
<head>
    <title>Title</title>
</head>
<body>
    <?php include 'pehape.php' ?>
<span>Username:</span><?php echo $row['Name'];?>
</body>
</html>

10-08 07:21