A社の佐伯さんがのらりくらりと

A社の佐伯さんがのらりくらりと。インターネットと少しだけ生活のこと。

phpでよく見かける@とは?

久々すぎて自分のブログが怖い佐伯です。


ときどきphpを開発していて「@hoge = ~ 」のようなものを見かけるのですが、「php @」でGoogle先生に聞いても教えてくれず。。

最近「php アットマーク」で出てくることに気付きました。世知辛いですね。

@とはエラー制御演算子というもののようです。

例えば

 

$hoge = $_GET["test"];

 

という変数を宣言していたとして、そこに

$hoge = @$_GET["test"];

 

とするとエラーがあってもエラーメッセージを表示させないようにできるのだそう。
うーん、ライブラリなんかは余計なエラーを出さないように@が必要なのかもしれませんね。基本的に開発ではエラーは可視化したほうが良いと思うけど...

 

ということで調べてみるとDB関連の関数で使用することが多いようです。
PHPMySQL関数はデータベースとの処理でエラーが発生した場合、ブラウザに自動的にエラーメッセージを吐き出すようになっているそう。実際に公開中のサイトにエラーが出るのは好ましくないため、@を使って制御しているみたいですね。

$con = mysql_connect("localhost","mysql","password");

$con = @mysql_connect("localhost","mysql","password");

 


参考:http://park18.wakwak.com/~little-box/Dreamweaver/sql009.htm