0

PHPスクリプトを実行しようとすると、エラー500が発生し続けます。ログを調べたところ、これが読み取られました。17-Aug-2012 22:35:59] PHP致命的なエラー:require()[function.require]:required'MYSQL'(include_path ='。:/ usr / lib64 / php:/ usr / lib / php: /home5/virtua15/public_html/gatewayaviation/aircraft_list.phpの3行目の/usr/ share / pear')以下は、私のスクリプトの1行目から5行目です。

<?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

4 に答える 4

2

requireリモート Web サイトがそのファイルの PHP コードを変更して、サーバーに損害を与える可能性があるため、リモートファイルを に渡すことはセキュリティ上の脅威です。さらに、遠い PHP ファイルをインクルードすると、そこに含まれる PHP コードはインクルードされず、生成された HTML のみがインクルードされます。ブラウザーでリンクにアクセスするとわかるように、空の出力が生成されます。

そのファイルがサーバーでローカルにホストされている場合は、次のように、URL ではなくファイルへのパスを必要とします。require '/var/www/website/includes/config.inc.php'

require(MYSQL) に関しては、 MYSQL というファイルを含めようとしていると思いますか? その場合は、引用符で囲み、次のように正しいパスを指定してください:require 'MYSQL';そうしないと、インタープリターは MYSQL を未定義の定数として扱います。そのファイルに何が含まれているかはわかりませんが、それが PHP コードの場合は、.php 拡張子を付けることが望ましいです。

于 2012-08-18T05:11:57.163 に答える
0

私は実際にこのコードの問題を理解しました。SQL クエリの loc の後にコンマを入れたので、スクリプトが壊れました。これですべて修正されました。

于 2012-09-03T22:55:03.440 に答える
-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を取得して読む必要があると思います

于 2012-08-18T04:53:23.113 に答える
-1

まず、OOP の世界をお勧めします。次に、MYSQL が 3 行目に定義されているようには見えず、このように定義されているのを見たことがありません。データベースへの接続に問題がある場合は、こちらを参照してください。http://www.php-mysql-tutorial.com/wikis/mysql-tutorials/connect-to-mysql-database.aspx

于 2012-08-18T04:50:21.923 に答える