2012年7月13日金曜日 PHPとMySQLの接続方法比較 無限Excel地獄って怖いですね、みすとです。 久しぶりにPHP+MySQLを触っていて、はるか過去の記憶をほじくって mysql_connect() を使っていたら、 今じゃ非推奨なんですね。 mysql関数に変わるものとしてmysqli関数とPDO関数がありますが、全部まとめて書いているサイトが見当たらなかったので、備忘録代わりに書いておくことにしました。 MySQLに接続し、SELECT分を実行し、表示させる、という一連の動作での書式比較です。とりあえず調べたという程度でセキュアにもなっていないので、参考にする際はご注意ください mysql関数(非推奨) 古くからPHPを使っている人は無意識に使ってしまう関数ですね。 何が問題かって、まだ廃止になっていないので、普通に動いちゃうところでしょうか。 //接続 $link
MySQL で SQL で問い合わせを行った場合、問い合わせ結果はテーブル形式で整形して表示されます。 mysql> SELECT * FROM test_table; +------+------------+ | id | name | +------+------------+ | 1 | MySQL | | 2 | PostgreSQL | | 3 | SQLite | | 4 | Oracle | +------+------------+ 4 rows in set (0.05 sec) mysql> MySQL では接続時に -X オプションを指定することで、SQL の問い合わせ結果のテーブルを XML 形式で表示することができます。 mysql -X D:\MySQL\bin>mysql -u root -D test -p -X Enter password: *****
PHP の PDO でキャラクタセットを指定するときは次の様に行なっています。 $pdo = new PDO("mysql:host=127.0.0.1;dbname=test", $username, $password, array( PDO::MYSQL_ATTR_READ_DEFAULT_FILE => '/etc/my.cnf', PDO::MYSQL_ATTR_READ_DEFAULT_GROUP => 'php', )); Zend_Db の場合は次の様に 'driver_options' で指定します。 $db = Zend_Db::factory('Pdo_Mysql', array( 'host' => '127.0.0.1', 'username' => 'user', 'password' => 'pass', 'dbname' => 'test', 'driver
PHP Advent Calendar 2013 に参加しています。昨日の @yando さんから引き継いで2日目。 以前 PHP を使った手品を人前でやったら、 会場から「えっ」「えっ?」「ええっ!?」 という反応があって楽しかったので書いてみます。 演じ方 まずはこちらをご覧ください。 これを実行したらどうなるでしょうか。 できれば、答え合わせをする前に 上記コードの右下にある view raw から keys.php をダウンロードして実行してみてください。 普通に考えたらこうなると思います。 Array ( [key] => value_7 ) では実行してみますね。 % php keys.php Array ( [key] => value_0 [key] => value_1 [key] => value_2 [key] => value_3 [key] => value_4
テキストを扱うサービスでは表現の揺れが問題になることが多いですね。 Web上にあるテキストコンテンツは全て人間が入力したものと言っても過言ではありません。 人間が入力する、ということは必ず表現の揺れが発生します。 単純な入力ミスや、複数存在する表現などによるものです。 お知らせメールでもこの例に漏れず、表現の揺れが問題になりました。 ユーザが登録したアーティストや著者に関する情報は、漏れなくユーザに届ける必要があります。 届かなければサイトの信頼に関わりますからね。 内部の処理として文字列の類似度を計算している部分があります。 類似度をプログラムで計算し、登録したアーティストや著者に関連する情報か否か、をフィルタリングしています。 ここで言う文字列の類似度とは、”田中太郎”と”田中次郎”の文字列としての近さを言います。 “田中太郎”と”田中次郎”では”太”と”次”が違うだけなの
データベースに接続する PDOでデータベースに接続するには、PDO クラスを使用します。接続に成功するとオブジェクトが返されます。 オブジェクト = new PDO( 'データベースの種類:dbname=データベース名;host=接続先アドレス', 'ユーザー名', 'パスワード' ); MySQLに接続する場合、データベースの種類は mysql を指定します。もしPostgreSQLに接続したければ pgsql、SQLiteに接続したければ sqlite を指定します。他にも、色々な種類のデータベースに接続することができます。 接続に失敗するとPDOは「例外」を発生させます。これは try と catch を使用すれば補足することができます。具体的には try { チェックしたい処理 } catch (PDOException $e) { 例外が発生したときの処理 } という形式になりま
玄箱WEBサーバの確認用であるXAMPPをUTF-8ベースに変更しました。ネットで調べながら、試行錯誤してようやくできましたので、紹介します。恐らく、XAMPPのバージョンが違うと、多少違ってくるかもしれませんので、適宜参考にしてください。私の環境は、OSがWindowsXPで、2007年5月現在の最新版XAMPP1.6.1を使用しています。主なソフトのバージョンは、次の通りです。 Apache 2.2.4 PHP 5.2.1 MySQL 5.0.37 phpMyAdmin 2.10.02 PHPの設定(php.ini) まず、php.iniの修正です。このファイルは、デフォルトではC:\xampp\apache\binにあります。「Windows用XAMPP導入」のページでは、EUC-JPやSJISを設定していましたが、これらをUTF-8に入れ替えます。 output_buffering
PHPとは PHPは「PHP Hypertext Preprocessor」の略で、 C言語やJAVA、Perlなどと同じプログラミング言語です。 レイアウトとなるHTMLファイル内に、処理内容を記述したスクリプトを埋め込み、処理結果に応じて動的に文書を生成し、送出することができます。 なぜPHPなのか? 理由はいくつかあります 他の言語と比較して容易に覚えられる。 webアプリケーションの開発に適している。 実行速度が速い。 どのような種類のデータベースとも接続可能。 以上がphpで開発する際の主な利点となります。 開発環境を準備しよう XAMPPの入手 PHPの実行環境として有名な組み合わせとしてLAMPという環境があります。LAMPと言えば、現在のWEBサイト製作に必要な代表的オープンソースソフトウェアのLinux、Apache、MySQL、PHP(又はPer
Hi Apache Friends! We just released a new version of XAMPP for Windows for PHP versions 8.2.12, 8.1.25 and 8.0.30. New versions for Linux and OS X will come soon! You can download these new installers... Read more » About Apache Friends Apache Friends is a non-profit project to promote the Apache web server and is home to the XAMPP project. XAMPP is an easy to install Apache distribution containin
今日から8月ですね!我が家の猫も夏毛に生え替わるようで、私も毛だらけです。志田です。 さて、今回は「似ている」を探したいと思います。なにかとなにかがどのくらい似ているのか、という情報があれば、それが役に立つシーンはたくさんありますよね。 ブログの似ている記事を探したり、趣味の似ているユーザを探したり、用途は様々です。 「何が似ているのか」という尺度にも様々あるように、類似度というのはいろいろな観点から調べることができます。 今回は、アシアルブログから似ている記事を探してみたいと思います。 手順としては、Mecabというライブラリを使って記事を形態素解析し、単語に分けます。 そして、元となる記事とその他の記事全体を見て、コサイン類似度という手法を用いて記事同士の類似度を測定し、似ている記事を3件見つけます。 (1) ブログ記事を取得する ブログ記事を取得し、ディレクトリに保存しておきます。
Opinion Mining and Sentiment Analysis Identifies the semantic orientation, aka polarity, that is expressed in subjective text such as written opinions. Overall, what this task aims to accomplish is sensing and predicting whether a given text shows a positive, negative or neutral sentiment/feeling. In order to produce this system, a Text Classification technique has to be adapted to a given applica
皆さん、こんばんは。笹亀です。 7月もあっという間に10日間が過ぎて、夏真っ盛りになってきました。 自分も夏対策でアイス眠というマットレスを購入して夏を乗り越えようと思っております。 さて、本日はストアドプロシージャについて検証をしてみたいと思います。 ストアドプロシージャとは、一連のSQL文や処理に名前をつけて保存したものです。 PHPの関数と同じでSQLを関数みたいにしたものがストアドプロシージャになります。 MySQLではストアドプロシージャはMySQLでは5.0から利用が可能です。 今回はMySQLのストアドプロシージャの使い方だけではなく、 生PHPで記載したときとのパフォーマンスを比較してみたいと思います。 MySQLのストアドプロシージャを呼び出して処理をするPHPプログラムとストアドプロシージャで作成したものと同じSQLを実行するPHPプログラムを作成します。 上記2つのプ
PHPでポジティブ、ネガティブ判定等を行える自然言語処理ライブラリ「nlpTools」 2012年06月06日- nlpTools - Natural Language Processing Toolkit for PHP PHPでポジティブ、ネガティブ判定等を行える自然言語処理ライブラリ「nlpTools」 日本語は多分ダメで、バージョンも浅いということで実用的なものではなさそうせすが面白かったのでご紹介です。 テキストをネガティブかポジティブか判別できるというのはWEBサービスなんかに活用できるかも(既に入れているサービスなんかもありますね) RSSを取ってきてタイトルからネガティブかポジティブか判定するデモが公開されています 関連エントリ TwitterやFacebookへのログイン機能をこれ1個で実装できるPHPライブラリ「HybridAuth」 特定クラスのメソッドをURLから呼
PHPに新たな脆弱性が見つかって、CGIモードで動作するPHPの場合コマンドライン引数がHTTP経由で渡せてしまうため、-sオプションを渡すとPHPのソースコードが丸見えになるというのが話題になってます。(-sオプションはhtmlでシンタックスハイライトまでしてくれてコードが見やすくなる) そこでFacebookに向けてこれを試してみると・・・ https://www.facebook.com/?-s こんな情報が!! <?php include_once 'https://www.facebook.com/careers/department?dept=engineering&req=a2KA0000000Lt8LMAS'; このURLにアクセスすると、セキュリティエンジニアの求人情報ページに行きます :) おしゃれー
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPはセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>
PHPでJSON形式のデータを出力する方法はいくつかありますが、 「 PEAR::Services_JSON 」を使用した簡単な方法を紹介します。 ライブラリのダウンロードはこちら // 出力用データ(PHP配列) $arr = array( "title" => "office photo", "data" => array( array( "id" => "1", "photo" => "images/photo/index_photo001.jpg", "thumb" => "images/photo/th/index_photo01.jpg", "photographer" => "バイタリ 太郎", "description" => "株式会社バイタリフィ<br />ダミーダミー", "word01" => "大会議室です。ダミーダミー。<br />この文章はダミーですダミーです
Webシステムに限らず、エスケープ処理はセキュリティ対策の基本です。すべての外部システムへの出力は、出力先の外部システムが誤作動しないよう適切にエスケープしてから出力しなければなりません。 Webアプリケーションにおけるエスケープ処理というとHTMLとSQLのエスケープ処理が例として挙げられますが、それは一部にしかすぎません。 Webアプリケーションから見た外部システムの一例 ブラウザ ブラウザのプラグイン ブラウザのスクリプト実行環境 データベース メールサーバ Webサービス ディレクトリサーバ ファイルシステム コマンド実行環境 外部システムによって処理されるすべてのファイル(XMLファイル、YAMLファイルなど) ライブラリ関数 エスケープ処理が必要なデータだけエスケープするのではなく、エスケープしてはならないデータ以外はすべてエスケープするようにします。よく見かける間違いはデータ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く