Php 获取错误:类mysqli_result的对象无法转换为字符串
我的代码非常混乱,但我正试图在我的网站上建立一个论坛Php 获取错误:类mysqli_result的对象无法转换为字符串,php,mysqli,Php,Mysqli,我的代码非常混乱,但我正试图在我的网站上建立一个论坛 <?php $conn = mysqli_connect("localhost", "root", ""); if($conn->connect_error){ die("Connection Failed"); } mysqli_select_db($conn, 'forum'); $get= "select * from forum"; $runq = mysq
<?php
$conn = mysqli_connect("localhost", "root", "");
if($conn->connect_error){
die("Connection Failed");
}
mysqli_select_db($conn, 'forum');
$get= "select * from forum";
$runq = mysqli_query($conn, $get);
while($fetch_value=mysqli_fetch_array($runq)){
$get_usr_name=$fetch_value['username'];
$get_body = $fetch_value['info'];
}
$result = $conn->query($get);
if(is_null($get_body)){
}
else{
echo "<div id='inputform1'>";
for($row = 1; $row < $result->num_rows; $row++){
$dbhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "forum";
$connection = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname);
if(mysqli_connect_errno()){
die("database connection failed: ") .
mysqli_connect_errno() .
" (" . mysqli_connect_errno() . ")";
}
$result1 = mysqli_query($connection, "select info from forum where id='$row';");
$result = mysqli_query($connection, "select username from forum where id='$row';");
echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
}
echo "</div>";
}
?>
mysqli查询的返回值是一个result对象。它不仅仅是一组行;它还包含有关查询、成功或失败、错误消息和其他内容的信息。您需要显式使用来访问查询返回的行。mysqli查询的返回值是一个结果对象。它不仅仅是一组行;它还包含有关查询、成功或失败、错误消息和其他内容的信息。您需要显式使用来访问查询返回的行。我认为问题出在这一行
echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
echo“之后通过:{$result}
{$result1}
”;
$result
和$result1
不是字符串。您需要循环它,然后访问记录。我认为问题出在这一行
echo "<strong class=\"after_username\">by: {$result}</strong><br><br><p id=\"bodyforum\">{$result1}<br><br></p>";
echo“之后通过:{$result}
{$result1}
”;
$result
和$result1
不是字符串。您需要循环它,然后访问记录。哪一行抛出了错误?为什么要运行同一查询两次?chris85是正确的:您可以使用select info,username from forum,其中id='$id'“
以避免两次查询。但是,$id
应取自查询结果;假设查询返回的行的所有ID都将从1开始,并定期递增。不太可能是这样。哪一行抛出了错误?为什么要运行同一查询两次?chris85是正确的:您可以使用select info,username from forum,其中id='$id'“
以避免两次查询。但是,$id
应取自查询结果;假设查询返回的行的所有ID都将从1开始,并定期递增。这不太可能。哦,好的,谢谢!我试过了,效果很好。哦,好的,谢谢!我试过了,它对我有效。