MySQL eucのとき、SET NAMES ujis ってダメだったような。

2010年10月04日(月)

MySQLの文字コードがeucの場合

SET NAMES ujis

ってやってますが、これ絶対よくない気がします。
詳しくないので、とりあえず動くコードを使ってしまうのですが。

MySQL WEEKDAY?で曜日を数値で返す

2010年06月10日(木)

MySQL関数のWEEKDAYは曜日の数字を返すそうです。

SELECT  DATE_FORMAT(date,'%c月%e日') as f_date,WEEKDAY(date) as youbi_num FROM item

そんでもって

$youbi_array=array("日","月","火","水","木","金","土","日");
$youbi_str=$youbi_array[$youbi_num];
$date={$f_date}({$youbi_str});

ですか?
もっといい方法があると思います。

PHP/MySQL implodeでクエリを作成

2010年06月05日(土)

配列をimplodeで分解してIN()でクエリを作るとき、
文字列の場合困るなあと思ってました。
これでダメでしょうかね。
ちゃんとしたやり方がありそうです。

$list_array=array(“red”,”blue”,”green”);
$girls_path_list=implode($list_array,”‘,’”);
$query=”SELECT girls_name,tall,bust,cup,waist,hip FROM girls WHERE girls_path IN (‘{$girls_path_list}’)”;
print $query;

MySQL INを使いなさいよオレ

2010年05月29日(土)

ORとかANDとか位にメジャーなヤツなハズ。
でもいつも忘れがち。
なのでメモします。

SELECT title FROM book WHERE id IN(2,5)

SQL グループの最大値

2009年10月29日(木)

今度から、簡単なのに使っていなそうなクエリをまとめとく事にしました。

そのグループの中の最大値を取得する。

SELECT article, MAX(price) AS price
FROM   shop
GROUP BY article

MySQLリファレンス

MySQL 日付のフォーマット

2009年10月21日(水)

日付を整形して取得します。
基礎でしょ。いまごろメモするなんて・・・

SELECT DATE(date) FROM `sampletable`
-> 2009-10-21

MySQL メモリ解放?

2009年10月16日(金)

こんなものあるのですか?初めてみました。
本には書いてなかったなー。

mysql_free_result($result);

MDB2などを利用していたら意識しなくていいのでしょうかね。

SQL substr関数

2009年10月15日(木)

いつもPHPで加工していましたが、SELECTの段階で加工するのがいいのかも?
すごく基礎的ですが、SQL文で関数を使うのを忘れがちなので。

SQLite

SELECT *,substr(content,0,20) as sb_content

MySQL

SELECT *,substring(content,0,20) as sb_content

MDB2 データ取得

2009年09月29日(火)

実はoptionについてはよく知らなかったのでした。
未だにDBとかネイティブの関数をつかっている自分は
ちょっとヤバいですね。よくしらないのですが、なんとなく。
PHPだとかMySQLだとか、かなりおざなりです。おっかない。

$options = array(
    'debug' => 2,
    'result_buffering' => false,
);
//DB接続
$mdb2 = MDB2::factory( $dsn,$options );
while($data=$result->fetchRow(MDB2_FETCHMODE_ASSOC)){
  print_r($data);
};

PHP 文字コードを指定する

2009年08月21日(金)

文字コードを指定してクエリを送るとき?
いまいちよくわかりませんが、よく使うので。

$utf_query='SET NAMES utf8';

//ネイティブ
mysql_query($utf_query,コネクションID);
//MDB2なら
$mdb2->query($utf_query);