如何使用include函数通过php变量将数据库查询的结果返回到另一个页面?


How do I return the result of a database query through a php variable to another page using the include function

我试图通过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_*函数。相反,您应该使用mysqlipdo。参见为什么我不应该't在PHP中使用mysql_*函数?

语法错误:

'内的任何内容都将被视为字符串类型。不是php代码。我给你的忠告。使用带有语法高亮的php编辑器。这样你就不会再犯这样的错误了。

mac版的Coda或pc版的zend studio就是一个很好的例子。