包括
来自此处INCLUDE
找到的 php 文档的解释。
根据给定的文件路径包含文件,如果没有给出,则根据指定的 include_path 包含文件。如果在 include_path 中找不到该文件,则 include 最终会在失败之前检查调用脚本自己的目录和当前工作目录。如果找不到文件,include 构造将发出警告;这是与 require 不同的行为,后者会发出致命错误。
root directory
您可以使用$_SERVER['DOCUMENT_ROOT']函数和file_exists()函数来清理包含,然后创建文件的路径。例如...
<?php
$my_root = $_SERVER['DOCUMENT_ROOT'];
$subpageheaderphp = $my_root . "/direct/path/to/file/from/root/subpageheader.php";
if(file_exists($subpageheaderphp)){include $subpageheaderphp;}else{echo "subpageheader in directory $subpageheaderphp could not be found <br/>";}
$hitcounterphp = $my_root . "/direct/path/to/file/from/root/hitcounter.php";
if(file_exists($hitcounterphp)){include $hitcounterphp;}else{echo "hitcounterphp in directory $hitcounterphp could not be found <br/>";}
PHP 示例... 下面是我将用于刺激包含另一个文件的文件结构。
(来源:iforce.co.nz)
IncludeFrom.php的内容
<?php
$DownStructure = "../../../includeTo.php";
echo "Including from the current directory: ".$DownStructure."<br/>";
if(file_exists($DownStructure)){include $DownStructure;}
$UpStructure = $_SERVER['DOCUMENT_ROOT']."/start/includeTo.php";
echo "<Br/>Including from first directory: ".$UpStructure."<br/>";
if(file_exists($DownStructure)){include $UpStructure;}
includeTo.php的内容
<?php echo "<b>IncludeTo.php</b> was included!!"; ?>
PHP 结果
(来源:iforce.co.nz)
这样做的好处是,跟踪和导航到文件夹结构中的文件要容易得多。通过这样做,您将从应用程序的基础中包含在内,这将不需要您向下导航,而是通过您的站点文件夹结构向上导航。虽然这两种解决方案都很好。$DownStructure
和之间的区别在于$UpStructure
,$DownStructure
是相对路径,$UpStructure
而是绝对路径。
数据库未选择错误
未选择您的数据库的一个非常简单的解决方案是。要更新您queries
以包含数据库,例如SELECT * FROM mydatabase.mytable WHERE column = 'value'
或在php 语法 中,SELECT * FROM $database.$table
在哪里存储有关您想去哪里的必要信息。$database
$table
在下面的示例中,我在选择Address
了SalesLT
数据库的表中插入了几个值。
INSERT INTO SalesLT.Address (AddressLine1, City, StateProvince, CountryRegion, PostalCode) VALUES ('75 W. 66th Street','New York','NY','United States','10023')
地址表
CREATE TABLE IF NOT EXISTS `address` (
`AddressLine1` varchar(200) NOT NULL,
`City` varchar(200) NOT NULL,
`StateProvince` varchar(200) NOT NULL,
`CountryRegion` varchar(200) NOT NULL,
`PostalCode` varchar(200) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
PhpMyAdmin 结果。我尚未选择primary database
要使用的 a,但我的查询已database
为insert query
.
(来源:iforce.co.nz)
使用以下代码进行 PHP 测试,您会注意到在下面的示例中我从不database
使用mysql_select_db选择 a 。
<?php
$conn = mysql_connect("localhost", "root", "") or die(mysql_error());
echo "Connected to MySQL<br />";
$result = mysql_fetch_array(mysql_query("SELECT * FROM SalesLT.Address"));
echo "<pre>";print_r($result);echo"</pre>";
phpinfo();
?>
结果...
(来源:iforce.co.nz)
将 包含在查询中的好处database
是您可以进行跨服务器查询。只要您连接到database
您的查询将转到您指定的位置。这比在 php.ini 中primary database
使用mysql_select_db函数选择一个更有效。