PHPコーディング
MySQLのクエリ
2011年01月08日
今日もPostgreSQLのソースとインターネットを参考にMySQLのコーディングです。
クエリの発行は
$result = pg_query($Connect, $sql);
が、
$result = mysql_query($sql, $Connect);
となります。
どうやら、概ねPostgreSQLは【pg_xxx】だったのが、MySQLでは【mysql_xxx】になるようです。
ですが、クエリの発行は、SQLとリソース(DBへのリンク)が、PostgreSQLとMySQLでは逆に(引数の順序)なります。
ここをうっかり変更し忘れて、あれ?を何度かやってしまいました。
処理件数の取得は、
pg_affected_rows($result);
が、
mysql_num_rows($result);
へ、
リソースの開放は
pg_free_result($result);
から
mysql_free_result($result);
になります。
もう一点、気をつける点が。クエリの結果取得です。
PostgreSQLでは、【pg_fetch_assoc】以外に、【pg_fetch_object】も使えました。
$rsData = pg_fetch_object($result, $cnt);
$data[$cnt]['id'] = $rsData->id;
とか、
pg_fetch_result($result, 0, 'MAX');
です。MySQLでは使えないようです。【mysql_fetch_assoc】を使います。
$rsData = mysql_fetch_assoc($result);
$data[$cnt] = $rsData;
とやれば、1レコードずつ一気に取得できます。
$rsData['id']でそのレコードのidフィールドが取得できます。
クエリの発行は
$result = pg_query($Connect, $sql);
が、
$result = mysql_query($sql, $Connect);
となります。
どうやら、概ねPostgreSQLは【pg_xxx】だったのが、MySQLでは【mysql_xxx】になるようです。
ですが、クエリの発行は、SQLとリソース(DBへのリンク)が、PostgreSQLとMySQLでは逆に(引数の順序)なります。
ここをうっかり変更し忘れて、あれ?を何度かやってしまいました。
処理件数の取得は、
pg_affected_rows($result);
が、
mysql_num_rows($result);
へ、
リソースの開放は
pg_free_result($result);
から
mysql_free_result($result);
になります。
もう一点、気をつける点が。クエリの結果取得です。
PostgreSQLでは、【pg_fetch_assoc】以外に、【pg_fetch_object】も使えました。
$rsData = pg_fetch_object($result, $cnt);
$data[$cnt]['id'] = $rsData->id;
とか、
pg_fetch_result($result, 0, 'MAX');
です。MySQLでは使えないようです。【mysql_fetch_assoc】を使います。
$rsData = mysql_fetch_assoc($result);
$data[$cnt] = $rsData;
とやれば、1レコードずつ一気に取得できます。
$rsData['id']でそのレコードのidフィールドが取得できます。
コメント