ホームページ  >  記事  >  バックエンド開発  >  PDO を使用して SQL を実行すると、接続がリセットされます。

PDO を使用して SQL を実行すると、接続がリセットされます。

WBOY
WBOYオリジナル
2016-06-23 13:44:271174ブラウズ

PDO を使用してデータベースに接続することに問題はありません:

$dsn = "mysql:host=localhost;dbname=php_jquery_example";try {	$dbo = new PDO($dsn, 'root', '123');} catch(Exception $e) {	die($e->getMessage());}


前処理とバインドに問題はありません:
$sth = $dbo->prepare('SELECT event_id, event_title, event_desc    FROM events    WHERE event_id < ?');$sth->bindParam(1, $calories, PDO::PARAM_INT);


問題は実行にあります:
$sth->execute();

ページが直接終了し、接続が切断されることを示すメッセージが表示されます。リセットされました
直接実行でも同じ問題が発生します:
foreach ($dbo->query('select * from events') as $row) { ...



元の方法を使用して接続してクエリを実行することは問題ありません。これは、PDO が SQL ステートメントを実行することが原因で発生します。専門家、助けてください...


ディスカッションへの返信 (解決策)

以下は、Aparch エラー ログに出力される情報です:
[error] VirtualHost *:80 -- 混合 * ポートと非 * NameVirtualHost アドレスを持つポートはサポートされておらず、未定義の結果が続きます
PHP 警告: PHP 起動: 動的ライブラリ '..\..\php-5.2.14-Win32\ext\php_mssql.dll' をロードできません - xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xc4xa1xで3分行 0 が不明
PHP 警告: PHP 起動: 動的ライブラリ '..\..\php-5.2.14-Win32\ext\php_pdo_mssql.dll' をロードできません - xd5xd2xb2xbbxb5xbdxd6xb8xb6xa8xb5xc4xc4xa3xbfxe9xa1xa3rn で行 0

分析に役立ちます。

PDO を使用する利点は何ですか? ? ? ? ?

PHP 警告: PHP スタートアップ: ダイナミック ライブラリをロードできません
ダイナミック ライブラリをロードできません: php_mssql.dll php_pdo_mssql.dll

これら 2 つのライブラリの欠如がページの実行に影響を与えるためでしょうか。

PHP 警告: PHP スタートアップ: ダイナミック ライブラリをロードできません '
ダイナミック ライブラリをロードできません: php_mssql.dll php_pdo_mssql.dll

これら 2 つのライブラリの欠如がページの実行に影響を与えるためでしょうか。

SQLserver どころか、おそらくそうではありません

PDO を使用する利点は何ですか? ? ? ? ?

データベース システムを変更するときは、DSN 文字列を変更するだけで済みます
もちろん、SQL 命令でも相違点を考慮する必要があります

問題は解決されましたか?

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。