我试图通过php echo命令从另一个页面使用数据库查询的结果占用页面的htmldiv。下面是我的示例代码:这是我正在执行查询的页面
$content = '<h3>Member Login</h3>
<?php
//Step 3: Perform a DB Query
$member_info = mysql_query("SELECT * FROM members", $db_connect);
?>
<?php
// Step 4: Use Returned Data
while($row = mysql_fetch_array($member_info)){
echo "First Name: ".$row[1];
echo "Last Name: ".$row[2]."<br>";
echo "User Name: ".$row[3]."<br>";
echo "Password : ".$row[4]."<br>";
echo <hr>;
}
?>
';
include 'foundation.php';
这是我发出echo命令的页面(foundation.php):
<div id="content">
<?php
echo $content;
?>
</div><!--end content div-->
数据库连接在另一个页面上建立得很好,所以我知道这不是问题。我认为这是我的语法有问题,因为它显示了以下内容:
"; echo "User Name: ".$row[3]."
"; echo "Password : ".$row[4]."
"; echo ; } ?>
确实有一些语法问题。您不能将PHP放入字符串中,然后期望PHP在稍后回显字符串时执行。相反,您将拥有一个静态字符串。函数和结构将被解释为纯文本,您将失去所有PHP的魔力。
创建$content
,试试这样:
<?php
$content = '<h3>Member Login</h3>';
$member_info = mysql_query("SELECT * FROM members", $db_connect);
while($row = mysql_fetch_array($member_info)){
$content .= "First Name: ".$row[1];
$content .= "Last Name: ".$row[2]."<br>";
$content .= "User Name: ".$row[3]."<br>";
$content .= "Password : ".$row[4]."<br>";
$content .= "<hr>";
}
include 'foundation.php';
?>
只是一个提示…已弃用mysql_*
函数。相反,您应该使用mysqli
或pdo
。参见为什么我不应该't在PHP中使用mysql_*函数?
'内的任何内容都将被视为字符串类型。不是php代码。我给你的忠告。使用带有语法高亮的php编辑器。这样你就不会再犯这样的错误了。
mac版的Coda或pc版的zend studio就是一个很好的例子。