正如几乎所有地方所建议的那样,我正在尝试将连接到数据库的过程卸载到 DBConfig.php 文件,因为我需要在多个文件中重用代码。
该建议总是被框定为(编辑以反映我的实际代码):
-------DBConfig.php-------
<?php
$link = mysql_connect('localhost','user','pass');
if (!$link) {
die('Not connected : ' . mysql_error());
}
$db_selected = mysql_select_db('db_name');
if (!$db_selected) {
die ('Can\'t use db_name : ' . mysql_error());
}
?>
-------Parent.php-------
<!DOCTYPE html>
<?php
require_once 'DBConfig.php';
$something = mysql_query("SELECT * FROM `table` LIMIT 0, 30 ");
// This query works fine if the mysql_connect() and
// mysql_select_db() stuff is in this script in place
// of the require_once.
$listofthings = array();
while($temp = mysql_fetch_array($something)){
$listofthings[] = $temp;
}
// Do other things too
?>
但是当我尝试这样做时mysql_fetch_array($something)
,它会失败并显示警告:mysql_fetch_array() expects parameter 1 to be resource, boolean given
。
请记住,如果我只是将 的内容DBConfig.php
放入父脚本而不是require 'DBConfig.php';
...
并且还注意到print(require 'DBConfig.php'); //- 1
(PHP 正在返回 1 表示它已成功定位并包含该文件。参见示例 5)...
发生了什么事,我该如何解决?我正在使用在 Windows 7 x64 上运行的WAMPServer(Apache 2.4.2、PHP 5.4.3)的默认配置。