-2

我有一个 PHP 文件,但是在<?php include 'RandomFile.php' ?>被扔掉之后的所有东西,我不知道为什么!我需要这方面的帮助。

RandomFile.php 的内容如下:

require 'cons.php';
mysql_connect($URL, $USER, $PASS, $DBN);
$strSQL = "SELECT * FROM song";

// Execute the query (the recordset $rs contains the result)
$rs = mysql_query($strSQL);

// Loop the recordset $rs
// Each row will be made into an array ($row) using mysql_fetch_array
if($rs === FALSE) {
    die(mysql_error()); // TODO: better error handling
}
while($row = mysql_fetch_array($rs)) {


    // Write the value of the column FirstName (which is now in the array $row)
    echo $row['url'] . "<br />";

}
// Close the database connection
mysql_close();

所以基本上在<?php include 'randomfile.php' ?>包含我所有的html之后,我的浏览器中都没有显示出来,但是如果我回去编辑文件,它就在那里???

4

4 回答 4

1

我猜这cons.php是您数据库的连接文件。您需要指定cons.php. 来自PHP 手册的 require

requireinclude相同,但失败时也会产生致命的E_COMPILE_ERROR级别错误。换句话说,它将停止脚本,而 include 只发出一个警告(E_WARNING),允许脚本继续。

所以这个例子显示了根目录下的文件。

require ($_SERVER['DOCUMENT_ROOT'].'/cons.php');

如果它低于DocumentRoot然​​后你会这样做:

require ($_SERVER['DOCUMENT_ROOT'].'/../cons.php');

另一方面,将所有mysql_功能替换为mysqli_. 新版本的 PHP 将不包含它,因为它mysql_ 已被弃用

于 2013-06-13T23:18:27.750 回答
1

由于您在没有先选择数据库的情况下尝试 SQL 查询,因此 mysql 失败并显示错误“未选择数据库”

错误与代码一起显示die(mysql_error());。die 中止脚本的进一步执行。如果您希望它继续,您应该print像这样

if($rs === FALSE) {
    print(mysql_error() . "\n"); // TODO: better error handling
}
else {
    while($row = mysql_fetch_array($rs)) {
        // Write the value of the column FirstName (which is now in the array $row)
        echo $row['url'] . "<br />";
    }
    // Close the database connection
    mysql_close();
}
于 2013-06-13T23:26:41.850 回答
0

关键是这一行:

    die(mysql_error()); // TODO: better error handling

如果连接到数据库时出错(如您在评论中所述:“未选择数据库”),则执行将“终止”并且不再将页面发送到浏览器。

正如代码注释所说,您需要更好的错误处理,但您可能会暂时将 更改die为 anecho然后执行将继续。

于 2013-06-13T23:27:33.797 回答
-1

您是否缺少包含中的分号 (;)?

顺便说一句,你可以设置

<?php error_reporting(E_ALL);
      ini_set('display_errors', '1'); ?>

这将向您显示脚本中的错误。

于 2013-06-13T23:16:44.057 回答