タグ

sqlとphpに関するext3のブックマーク (5)

  • MySQLでGROUP BYとORDER BYを同時に使用する場合に気をつけたいこと | 日記の間 | あかつきのお宿

    今さらな話ではあるんですが、前にも一度同じ過ちを犯したことがあるので、ここでちゃんと自分を懲らしめておきたいと思います。 前提条件 例えば、データベースにこんなデータが入っているとする。 +----+-----------+--------+------+---------------------+ | id | author_id | title | text | created | +----+-----------+--------+----------------------------+ | 1 | 1 | title1 | text | 2012-10-01 12:00:00 | | 2 | 2 | title2 | text | 2012-10-02 12:00:00 | | 3 | 1 | title3 | text | 2012-10-03 12:00:00 | | 4

    MySQLでGROUP BYとORDER BYを同時に使用する場合に気をつけたいこと | 日記の間 | あかつきのお宿
    ext3
    ext3 2015/04/08
    GROUP BY不要論
  • 【PDO】bindParamとbindValueの違い【PHP】 | WEBマスターの知恵ブログ

    bindParamとbindValueの違いについての覚書です。 bindValue : 値をパラメータにバインドする プリペアドステートメントで使用する SQL 文の中で、対応する名前あるいは疑問符のプレースホルダに値をバインドします。 bindParam : 指定された変数名にパラメータをバインドする 準備された SQL ステートメント中で、   対応する名前もしくは疑問符プレースホルダにパラメータをバインドします。   PDOStatement::bindValue() と異なり、   変数は参照としてバインドされ、PDOStatement::execute()がコールされたときのみ評価されます。 PHPマニュアルの該当箇所には、このような説明があります。 ただ、これだけでは何のことかイマイチ分かりません。 この二つで分かりやすいのは、単純な動作のbindValueです。 基的な動

  • PHP: PDO::setAttribute - Manual

    PDO::setAttribute (PHP 5 >= 5.1.0, PHP 7, PHP 8, PECL pdo >= 0.1.0) PDO::setAttribute — 属性を設定する データベースハンドルの属性を設定します。 利用可能な通常の属性は以下の通りです。いくつかのドライバでは、 ドライバ固有の属性を使用することが可能です。 ドライバ固有の属性は、 他のドライバでは使っては いけない ことに注意して下さい。 PDO::ATTR_CASE 強制的にカラム名を指定したケースにします。 以下の値のうち、ひとつを指定できます: PDO::CASE_LOWER 強制的にカラム名を小文字にする。 PDO::CASE_NATURAL データベースドライバによって返されるカラム名をそのままにする。 PDO::CASE_UPPER 強制的にカラム名を大文字にする。 PDO::ATTR_ERR

    PHP: PDO::setAttribute - Manual
  • 5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!

    こんにちはこんにちは!! Webプログラミングしてますか! よく「PHPセキュリティがダメ」とか言われてるよね。 でもそれって、べつにPHPが悪いんじゃなくて、 たぶん、セキュリティとかが、まだよくわからない人が多いだけなんじゃないかな。 がんばって勉強しようと思っても、なんだか難しい理屈が並んでいたりするしね…。 なので今日は、セキュリティ対策について、 「これだけやっとけば、わりと安全になるよ」ってことを、初心者むけに、大雑把に書いてみます! 理屈がわからなくても、最初はコピペでも、 なにもやらないより、やったほうがきっとマシになる! 1. XSS対策 動的なものを表示するとき、全部エスケープすればokです! (NG) あなたの名前は <?= $name ?> ですね! ↓ (OK) あなたの名前は <?= htmlspecialchars($name, ENT_QUOTES) ?>

    5分でできるPHPセキュリティ対策 - ぼくはまちちゃん!
  • PHP | データの取得(SELECT) - SQLiteへの接続

    次にデータの取得を行います。SELECTを使いますが、今回は結果を取得するので「sqlite_query」関数を使います。 「sqlite_query」関数を実行した結果resource型の値を受け取りますが、その中にはSELECTの結果としての複数のフィールドに関する値が複数の行数分だけ帰ってきています。 resource型の値から実際のデータを取り出すためには「sqlite_fetch_array」関数を使います。 sqlite_fetch_array array sqlite_fetch_array(resource result [, int result_type [, bool decode_binary]]) 指定した結果ハンドル result から次のレコードを取得 します。レコードがも うない場合は FALSEを返し、それ以外は レコードデータを含む連想配列を返し ます。

    ext3
    ext3 2012/08/26
  • 1