こんにちは、ねこです。

自称プログラマのおばちゃんのブログです。いろいろあるよねぇ~。

PHP「Non-persistent connections」と「Persistent connections」の奇妙なエラー

2017-02-15 07:52:22 | PHP

『では今からバグなおしまーす。これはSQLエラーなんで、順番悪いか、なにか抜けてるのかといったところかな?』

なんてことを昨日書いたと思いますが、わかりやした。。。

なんか、接続が安定しないというか、エラーがランダムででてきよる。

理由は、「Non-persistent connections-非持続的データベース接続」と「Persistent connections-持続的データベース接続」でした。

実際にどこで別れるのかというと、ここ。

[Persistent connections持続的データベース接続]

$dbh = new PDO('odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=system;HOSTNAME=host;DATABASE=SxxxVxxx;NAMING=1;', 'user', 'pass', array(

ここ→ PDO::ATTR_PERSISTENT => false

 ));

[Non-persistent connections非持続的データベース接続]

$dbh = new PDO('odbc:DRIVER={iSeries Access ODBC Driver};SYSTEM=system;HOSTNAME=host;DATABASE=SxxxVxxx;NAMING=1;', 'user', 'pass', array(

ここ→ PDO::ATTR_PERSISTENT => true

 ));

 エラーに「接続がきれます」なんてことがかいてあったらか、多分「非持続的」を最初に使ってたねこの場合、ロールバックされるときと、されずにエラーで終わっていたときがランダムにでてきていたことが理解できる。

だから、サーバーのライフサイクルを考えて接続を最後にきってやらないといけないのが、「接続的」、でトランザクションが処理された後に勝手に接続を切ってくれるのが「非接続的」。

こちらを読んで勉強してね。

PHPマニュアル

ローカルから接続してたねこのマシーンが細かいトランザクションに間に合わなかったのかなぁ。。。

その辺はよーわかりません。

ねこでした。


Uncaught exception 'PDOException' with message 'SQLSTATE[HY000] PHPびぃ~くりっ!でもよくありますよねぇ。。。

2017-02-15 07:10:23 | PHP

おはようございます。

こちら、『stackoverflow』様より引用

とってもいい例だとおもって今日は載せます。

まず、PDOにしてみたという意味でいい例です。

 

 

 

そして、こんなんありぃ~っ!!ってな感じで指摘された意味でいい例です。

「include('config.php');追加してください。」

ですって。

そう、これが答え。

自分のコードのエラーは時間かけた分どうしても難しく考えてしまって、第三者の方から指摘されるまで'config.php'ファイルをincludeすること忘れてたなんてこと、全然思いもしないんです。特にこのPDOのドライバ関係はとっても複雑で、mySqlとかDB2だとか、はたまたiSeries Access ODBC Driverなんてほんといろいろありすぎるんですよね。ねこも苦労しました。

でも、このデータ処理の部分は大きく分けて二つのエラーに分かれると思います。
ひとつは、この例のように「SQL」関係のエラー。もうひとつは、rollBack()されたときのエラー。これは、「try-catch block」で新しいトランザクションが上手くいかなかった場合。
って、ねこは思ってますが、これもひとえにはいえないのかもね。
 
では今からバグなおしまーす。これはSQLエラーなんで、順番悪いか、なにか抜けてるのかといったところかな?
 
読んでくれて有難う。
 
ねこでした。

2016年 ベスト10 PHPフレームワーク

2017-02-07 08:34:05 | PHP

おはようございます。

ねこです。

今日はいまさらか、の2016年ベスト10PHPフレームワークです。

HONGKIAT様のさいとより。

http://www.hongkiat.com/blog/best-php-frameworks/

 

1.なんと!!!あのLaravelなんですねぇ。2011年に開発されたにもかかわらず、王道一位!!!ローカル開発ができるようにVagrant boxにパッケージされたものが合って、人気の一番!!!つかってみなきゃな、とおもいながら、いそがしくってむぅ~りぃ~。。。日本では使ってる人少ないよねぇ。。。

 

2.Symfonyだってさ!!!なんと、日本と違うこと。。。日本では絶対CakePHPが来るって思う。Wordpressなんかより、Drupalのほうが人気あるから、Drupalが書かれてる関係かな。。。

 

3.CodeIgniter。。。なんやこれ。きいたことありませんがな。でも堂々の三位。もう10年ぐらいなるそうな。何で人気かというと、PHPのバージョンに左右されないからだって。どゆこと?わからん。。。それも、完全MVCでなくって、コントローラーベースで書いていくそうです。

 

4.Yii2、これはね、名前だけは聞いたことがある。なんでかっていうと、これば出たときにいっちゃんはやいフレームワークだと話題になったから。jQueryなんかとセットでつかってAJAXできる機能がいっぱい。とにかく、フロントエンドのひとだったらこれがお勧めだそうです。

 

5.Phalcon,しりませんねぇ。。。CとC++でかかれてるそう。なんやら、C-extensionってな機能でPHPでかけるけど、実際にはCなんかみたいにむっちゃ走るんが早いそうです。でも2013年に2番だったのに、去年は5番落ち。。。なにがあかんかったんやろう。そっちがきになる。

 

6.ここでやっと。。。『CakePHP』。なんだかなぁ。。。書かんでもええか。。。

 

7.でた!殿様商売、Zendさまが出してるZend Framework!!!これはね、AS400なんかつかってたでっかい企業がWEB化を計る時にとっても役に立ちそうです。ねこなんかもいつかつかってみたいなぁ。。。でもZend StudioなんてIDEが必要になってくるし、なんたって情報が少なすぎる!!!アラン・セイデン(System i / Zend開発者)さんよ、もっとわかり安くyoutubeビデオでもつくってくでぇ~!!!

 

8.Slim

9.FuelPHP

10.PHPixie

こうしてみるとほんと、様変わりしちゃいました。

ねこてきには、時間かけて勉強してもつかいこなせねーなぁー。。。

 


Gooさまのこのブログサイト、PHPで書いてないかい?もしかしたら、htmlspecialchars() 効いてない?!

2016-12-23 06:59:01 | PHP

Gooさまとは長いお付き合いです。


親父様がもと電電公社に勤めていたりして、NTT様のお名前は生まれて以来ずっと食べさせていただいたするすばらしい会社さまなので、ブログもGoo様を選びました。ニュースなどの日本の情報はすべてこのGOO様のサイトから仕入れてます。


ところで昨日きがついたんですが、このブログページ、『新規投稿』を最初にクリックすると、エンティティがタグとしてレンダリングされずに元のタグ記述を出力してくれてますが、いったん保存したした後にはそのままタグで出てしまいます。


 


1.普通にエディターからタグつきを入力します。



 


2.さすが、しっかりとタグがHTML エンティティに変換されて無害に出てますね。



 



3.では、もう一回エディターを開いてみてみましょう。




4.うわぁ~お、タグ効いちゃってますやんか!



 


5.HTMLエディターをひらいて。。。



 


6.で、こいつが、キャッシュされたJSON。



で、こいつが上をデコードしたもの。



 


う~ん。。。わたしだったらどうするかなぁ~?


エンティティについてはとてもいい教材が『Qiita』様にあります。http://qiita.com/ka215/items/ace36f55c3ad1297de81


PHPとJavaScriptでHTMLエンティティを扱う時のおさらいka215さますばらしい投稿をありがとうございます。



おっと、仕事せなっ!


読んでくれてありがとう、ねこでした!