打开所需的'MYSQL'失败

时间:2012-08-18 04:42:03

标签: php mysql require

当我尝试运行我的php脚本时,我一直收到错误500。我查看了日志,它读到了这个。 2012年8月17日22:35:59] PHP致命错误:require()[function.require]:打开所需的'MYSQL'失败(include_path ='。:/ usr / lib64 / php:/ usr / lib / php: / usr / share / pear')在第3行的/home5/virtua15/public_html/gatewayaviation/aircraft_list.php 下面是我的脚本的第一行到第五行

<?php
require('http://gatewayaviation.virtual-aviation.org/includes/config.inc.php');
require (MYSQL);
$q = "SELECT CONCAT(aircraft_name, tail_number) AS aircraft, aircraft_type AS at, location AS loc, FROM aircraft GROUP BY location ORDER BY tail_number ASC";
$r = mysqli_query($dbc, $q);

这背后的原因是什么?我一直在使用相同的代码来处理我正在进行的项目中的许多其他页面,并且没有任何问题。你能对此有所了解吗?

4 个答案:

答案 0 :(得分:2)

将远程文件提供给require是一种安全威胁,因为远程网站可能会以损害服务器的方式更改该文件中的PHP代码。此外,包括远程PHP文件将不包含它包含的PHP代码,只包括生成的HTML。正如您在浏览器中访问链接所看到的那样,它会产生一个空输出。

如果该文件在您的服务器中本地托管,请提供其路径,而不是URL,例如:require '/var/www/website/includes/config.inc.php'

至于require(MYSQL),我假设您正在尝试包含一个名为MYSQL的文件?如果是这种情况,请将其放在引号中并确保指定正确的路径,如下所示:require 'MYSQL';否则解释器会将MYSQL视为未定义的常量。我不知道该文件可能包含什么,但如果它是PHP代码,最好给它一个.php扩展名,否则人们可以下载它并查看其中的代码。

答案 1 :(得分:0)

我实际上已经弄清楚了这段代码的问题。我在SQL查询中的loc后面放了一个逗号,这破坏了脚本。现在全部修好了。

答案 2 :(得分:-1)

首先,我会推荐OOP的世界。接下来,MYSQL似乎没有在你的第三行中定义,我从未见过这样做过。如果连接到您的数据库是问题,这里有一个参考。 http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/connect-to-mysql-database.aspx

答案 3 :(得分:-1)

这个

require('http://gatewayaviation.virtual-aviation.org/includes/config.inc.php');
不建议在php中使用

,而且你不能只是

require (MYSQL); 

而是你必须连接到数据库做这样的事情

$mysqli = new mysqli('localhost', 'my_user', 'my_password', 'my_db');

$q = "SELECT CONCAT(aircraft_name, tail_number) AS aircraft, aircraft_type AS at, location AS loc, FROM aircraft GROUP BY location ORDER BY tail_number ASC";
$r = mysqli_query($mysqli, $q);

我认为你需要获得一个教程或php for dummies并阅读