一个带有奇怪结果的PHP include()函数

时间:2016-01-24 07:44:13

标签: php include

我最近开始学习PHP,我遇到了一个令人沮丧的问题,其中代码似乎很好,但它只是不起作用,即使是教我的人也不知道是什么导致它。下面我会将代码粘贴给您。

git --work-tree=/path/to/unzipped/files add .
git status 
git commit -m "commit changes from unzipped folder"

结果变成了这样:

enter image description here

顺便说一下,我在MAC中使用XAMPP 7.0.1。

<?php
header("content-type: text/html; charset = UTF-8");
$con = new mysqli();
$con -> connect("localhost", "root" ,"");
$con -> select_db("test_db");
$con -> query("set names UTF8");
$query = $con -> query("SELECT * FROM TITLES LIMIT 0,2");
$num = $query -> num_rows;
for ($i=1 ; $i <= $num; $i++) 
{ 
    $result = $query -> fetch_array();
    echo "<table style ='float: left'>";
    echo "<tr><th>".$result["TITLE"]."</th><tr>";
    echo "<tr><td>";
    include("$i.php");
    echo "</td></tr>";
    echo "</table>";
}
?>

2 个答案:

答案 0 :(得分:0)

<?php
header("content-type: text/html; charset = UTF-8");
$con = new mysqli();
$con -> connect("localhost", "root" ,"");
$con -> select_db("test_db");
$con -> query("set names UTF8");
$query = $con -> query("SELECT * FROM TITLES LIMIT 0,2");
$i = 0;
while($result = $query -> fetch_assoc())
{ 
    $i++;
    echo "<table style ='float: left'>";
    echo "<tr><th>".$result["TITLE"]."</th><tr>";
    echo "<tr><td>";
    include("$i.php");
    echo "</td></tr>";
    echo "</table>";
}
?>

使用while循环遍历行。

答案 1 :(得分:0)

当您在另一个PHP文件中包含文件时,所包含文件中的所有变量都将处于活动状态并可供操作。

在您的情况下,您使用的$ query和$ result变量覆盖您启动的变量。所以TITLES的$ query已被更改,因此即使你想使用unset()它也行不通。

示例:基本包含示例

vars.php

<?php

$color = 'green';
$fruit = 'apple';

?>

test.php的     

$color = 'yellow';
$fruit = 'banana';

echo "A $color $fruit"; // A yellow banana

include 'vars.php';

echo "A $color $fruit"; // A green apple

?>

来源:http://php.net/manual/en/function.include.php

您还可以将$ con变量放入单独的PHP文件中并包含一次。阅读有关PHP的更多信息:

http://php.net/manual/en/function.include-once.php