我是个初学者,我需要一点帮助
我创建了这段php代码,以便从数据库的“profiles”表中获取用户信息(注意:变量$username已经定义):
<?php
//getting the data from the Database
$aVar = mysqli_connect('localhost','root','','socialnetwork');
$usernameaccount = mysqli_query($aVar, "SELECT username FROM users WHERE username = '$username'");
$age = mysqli_query($aVar, "SELECT p.age FROM profiles p, users u WHERE u.username = '$username' AND u.id = p.id");
$gender = mysqli_query($aVar, "SELECT p.gender FROM profiles p, users u WHERE u.username = '$username' AND u.id = p.id");
$description = mysqli_query($aVar, "SELECT p.description FROM profiles p, users u WHERE u.username = '$username' AND u.id = p.id");
//after getting the data i insert them into a variable with some html code:
$outputusername = '<h2>'.$usernameaccount.'<hr></h2>';
$outputage = '<h2>'.$age.'<hr></h2>';
$outputgender = '<h2>'.$gender.'<hr></h2>';
$outputdescription = '<h2>'.$description.'<hr></h2>';
?>
而不是在html代码中的某个地方,我像这样回显它们:
<div class="info">
<?php
echo $outputusername;
echo $outputage;
echo $outputgender;
echo $outputdescription;
?>
</div>
不知怎的,它给了我一个错误信息:
可恢复的致命错误:在第10行的c:\xampp\htdocs\ping.com\profile.php中,类mysqli\u result的对象无法转换为字符串
有人能帮我从我的数据库中以正确的方式获取这些数据并用html代码显示它们吗?如果你需要更多的信息,请尽管问。
3条答案
按热度按时间du7egjpx1#
你有点不对劲。让我来指导你:
mysqli_query
结果amysqli_result
,这是从数据库访问值所需的。你会有
然后通过结果可以获取返回的行。因为返回的是单行,所以可以执行以下操作:
现在
$row
当然,如果查询成功,将是一个包含字段的数组。您可以将这些值存储在变量中。
您可能还希望联接表以便执行单个查询,并选择所需的列。
它看起来是这样的:
z9ju0rcb2#
我建议您阅读mysql fetch\u array手册和mysql fetch\u assoc手册——但要点如下。
你正在返回一个
object
,不是string
. 但你却在试图echo
它就像是一个string
. 所以我们要做的是把你的object
到string
或者array
.在这种情况下,最简单的方法就是
fetch_array
--返回一个数组,然后拉第一个index
这个数组的[0]
在您的代码中看起来是这样的:k2arahey3#
假设你回来了ì每排一个。。每个结果都需要一个fetch
你可以用一个查询选择所有你需要的列