PHP ナレッジポイントのメモ

WBOY
WBOYオリジナル
2016-06-23 14:37:291077ブラウズ

表示エラー: PDOException がドライバーを見つけられませんでした。

PDO_mysql がインストールされていないなど、PDO が対応するデータベースの拡張機能をインストールしていないことを意味します

http://pecl.php.net/package/PDO_MYSQL

ソースコード

phpize

. /configure --with-php-config=/usr/local/php/bin/php-config
./make

./make install

phpExcel を使用するには、php のxmlreader および xmlwriter 拡張機能を使用している場合は、yum install php を使用します

yum install php-xml を使用して直接インストールします

php 定義を繰り返し定義することはできません

例:

<?phpdefine("TEST", "11");define("TEST", "22");echo TEST;
 
[yejianfeng@xen193v ~/handcode]$ php test.php PHP Notice:  Constant TEST already defined in /home/yejianfeng/handcode/test.php on line 4Notice: Constant TEST already defined in /home/yejianfeng/handcode/test.php on line 411
PHP ですべてのローカル変数を取得する方法

$localVariables = Compact(array_keys(get_define_vars()));

次のように php モジュールをインストールできます

PHP_PDO_SHARED=1 pecl install pdo_mysql

mysql の文字エンコーディング

Mysql の一般的なデフォルトのクライアント文字エンコーディングは次のとおりです: latin1

いくつかの文字エンコーディングがありますmysql の:

mysql> "character_set_ %" のような変数を表示します;

+--------------------------+------ ------------ ----------+
| 値 |
+------------------- -------+--------------+
| 文字セット接続 utf8 | |
| 文字セット_結果 | 文字セット_システム
| ---- ----------+--------------------------+

情報の入力パスは

クライアント - 接続 - サーバー

情報の出力パスは

サーバー - 接続 - 結果

入力セット名 utf8 はクライアントと接続の文字エンコーディングを一時的に設定するためのものです

PHP で mysql の文字エンコーディングを初期化するにはどうすればよいですか?

設定を初期化するには 2 つの方法があります:

1

        $pdo = new PDO("mysql:host={$config['host']};dbname={$config['dbname']};port={$config['port']}",             $config['user'], $config['password'], array(PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"));

2

   $pdo = new PDO("mysql:host={$config['host']};dbname={$config['dbname']};port={$config['port']}",             $config['user'], $config['password']);        $pdo->exec('set names utf8');
PHP PDO 拡張機能

PDO を使用する場合は、PDO に加えて拡張機能、および各種データベース ドライバーと PDO をインストールする必要があります拡張機能 一連のインターフェースを定義しますが、PDO 拡張機能を使用してデータベースを直接操作することはできません。PDO ドライバー拡張機能をインストールして作成する必要があります。

PDO 拡張機能の説明: http://www.php.net/manual /en/intro.pdo.php

PDO 拡張機能は PHP 5.0 でのみ使用できます (php の OO 属性を使用)

さまざまなデータベースの拡張機能は次のとおりです:

PDO の prepare が最終的な SQL を出力できない理由

私はいつもPDO を使用してイライラしました 問題は、prepare を使用するときに、最後に実行された SQL をログに出力したいことですが、方法がないことがわかりました。 。 。

よく考えてみると、prepare は mysql ステートメントなので、PDO の prepare と executable は実際に mysql にいくつかのリクエストを送信し、prepare、set、execute を実行します

mysql> PREPARE stmt1 FROM 'SELECT SQRT(POW(?,2) + POW(?,2)) AS hypotenuse';mysql> SET @a = 3;mysql> SET @b = 4;mysql> EXECUTE stmt1 USING @a, @b;+------------+| hypotenuse |+------------+|          5 |+------------+mysql> DEALLOCATE PREPARE stmt1;

つまり、ログを取得したい場合は、自分で SQL を綴る必要があります。 。 。

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