我是php的新手,我写了一段代码,我嵌套了两个查询,即一个查询在另一个查询中,但问题是它向我显示了第二个查询的右大括号的意外"}"错误,请帮我。
PHP
<?php
$con = mysqli_connect("localhost","**","**","**");
$query = ("SELECT * FROM status");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc())
{
echo '
<div class="col-lg-12">
<div class="social-feed-box">' .
$query = ("SELECT via FROM status WHERE IF(via='" . $_SESSION['via'] . "' ");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc())
{
'<div class="pull-right social-action dropdown">
<button data-toggle="dropdown" class="dropdown-toggle btn-white">
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu m-t-xs">
<li><a href="post_delete.php">Delete</a></li>
</ul>
</div>' .}.
'<div class="social-avatar">
<a href="" class="pull-left">' .
'</a>
<div class="media-body">
<a href="#">'
.$row['via'].
'</a>' .
'<small class="text-muted">' .$row['created_at']. '</small>
</div>
</div>
<div class="social-body">' .
'<p>' .$row['status']. '</p>
<div class="btn-group">
<button class="btn btn-white btn-xs"><i class="fa fa-thumbs-up"></i> Like this!</button>
</div>
</div>
<div class="social-footer">
<div class="social-comment">
<a href="" class="pull-left">' .
'<img alt="image" src="'.$_SESSION['doc'].'">' .
'</a>
<div class="media-body">
<div class="form-group">
<textarea class="form-control" placeholder="Write comment..."></textarea>
</div>' .
'<div class="col-sm-1 form-group"><input type="submit" class="btn btn-primary btn-block" value="Post" align="left"></div>
</div>' .
'<div class="chat-message right">
<div class="message">' .
'<a class="message-author" href="#">' .$_SESSION['via']. '</a>' .
'<span class="message-date">' . '</span>
<span class="message-content">
Hello how are you?
</span>
</div>
</div>
</div>
</div>
</div>
</div>';
}
?>
我建议您使用任何IDE,如eclipse或sublime还有两点需要记住。。。
-
通过打印带有echo的html标签,在PHP中完成所有操作。
<?php echo "<p>this p tag in php style</p>"; ?>
-
HTML和PHP标签的混合
<p> <?php echo "this p tag is in partial PHP style"; ?> </p>
;
我希望这能帮助。。。
嵌套查询位于echo内部。尝试结束回显,并在第二个查询后开始新的回显。对$row使用不同的变量可能是明智的,但这并不重要。
<?php
$con = mysqli_connect("localhost", "**", "**", "**");
$query = ("SELECT * FROM status");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc()) {
echo '
<div class="col-lg-12">
<div class="social-feed-box">';
$query = ("SELECT via FROM status WHERE IF(via='" . $_SESSION['via'] . "') ");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc()) {
echo '<div class="pull-right social-action dropdown">
<button data-toggle="dropdown" class="dropdown-toggle btn-white">
<i class="fa fa-angle-down"></i>
</button>
<ul class="dropdown-menu m-t-xs">
<li><a href="post_delete.php">Delete</a></li>
</ul>
</div>';
}
echo '<div class="social-avatar">
<a href="" class="pull-left"></a>
<div class="media-body">
<a href="#">'
. $row['via'] .
'</a>' .
'<small class="text-muted">' . $row['created_at'] . '</small>
</div>
</div>
<div class="social-body">' .
'<p>' . $row['status'] . '</p>
<div class="btn-group">
<button class="btn btn-white btn-xs"><i class="fa fa-thumbs-up"></i> Like this!</button>
</div>
</div>
<div class="social-footer">
<div class="social-comment">
<a href="" class="pull-left">' .
'<img alt="image" src="' . $_SESSION['doc'] . '">' .
'</a>
<div class="media-body">
<div class="form-group">
<textarea class="form-control" placeholder="Write comment..."></textarea>
</div>' .
'<div class="col-sm-1 form-group"><input type="submit" class="btn btn-primary btn-block" value="Post" align="left"></div>
</div>' .
'<div class="chat-message right">
<div class="message">' .
'<a class="message-author" href="#">' . $_SESSION['via'] . '</a>' .
'<span class="message-date">' . '</span>
<span class="message-content">
Hello how are you?
</span>
</div>
</div>
</div>
</div>
</div>
</div>';
}
?>
@LordMarti走在了正确的道路上。您可以在"echo"中编写PHP,但它会忽略它并尝试将其打印出来。尝试将PHP(和SQL查询)排除在任何echoe和HTML标记之外。
Maby尝试关闭您的PHP,继续使用HTML,然后重新打开您的PHP。
<?php
$con = mysqli_connect("localhost","**","**","**");
$query = ("SELECT * FROM status");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc())
{
?>
<div class="col-lg-12">
<div class="social-feed-box">' .
<?php
$query = ("SELECT via FROM status WHERE IF(via='" . $_SESSION['via'] . "' ");
$result = mysqli_query($con, $query);
while ($row = $result->fetch_assoc())