0

PDO を使用して MySQL に接続すると、すべて正常に動作します。整理するために、PDO コードを含むインクルード ファイルを作成しました。これは完全なインクルード ファイルです。

<?php

$pdo = new PDO('mysql:host=localhost;dbname=******', '******',
'******');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$pdo->exec('SET NAMES "utf8"');

printf('hello');
?>

print hello は、ファイルが含まれていることを確認するためのものでした。問題は、ページをロードするときにこのエラーが発生することです

"Fatal error: Call to a member function query() on a non-object in /home3/danville/public_html/test/parkattractions.php on line 9"

9号線は$result = $pdo->query($query);

db-connect ファイルがメイン ページの一部であったときはすべて正常に機能していましたが、現在はそれをインクルードとして使用しているだけで、エラーが発生します。何がうまくいかず、どうすれば修正できますか?

編集:これは、エラーが発生しているページの一番上です:

<?php
include 'http://www.themeparkfocus.com/db-connect.php';

try
{
$park_id = $_GET['park_id'];
$query="SELECT * FROM tpf_parks WHERE park_id = $park_id";
$result = $pdo->query($query);
}
catch (PDOException $e)
{
$output = 'Unable to connect to the database server.';
//include 'output.html.php';//
}
4

2 に答える 2

1

URL ではなく、インクルードでファイル パスを使用します。URL を使用する場合、せいぜい URL が要求され、コンテンツがダウンロードされますが、おそらくそれは生成されたページであり、php ソース ファイルではありません。

ブラウザーで開くだけhttp://www.themeparkfocus.com/db-connect.phpで、含まれているものが表示されます。PHP コードはありません。

また、requireファイルが必要な場合に使用します。ファイル/URL のインクルードに失敗すると、明確なエラー メッセージが表示されますが、この場合は URL が有効であるため、おそらく役に立ちません。

于 2013-08-11T00:12:14.550 に答える
1

完全な URL を使用してファイルを含めています。これは、その URL にアクセスしたときに表示されるものと同じものを PHP が表示する必要があることを意味します。その URL にアクセスすると、PHP コード (PHP が期待するとおり) または空のページが表示されますか?

空のページが表示された場合、PHP は実質的に空のファイルをインクルードし、何も実行しません。

サーバー側のパス ( など) を使用して含める必要がありますrequire_once '../db-connect.php';

于 2013-08-11T00:13:45.650 に答える