PHP + PostgreSQL

このエントリーをはてなブックマークに追加
76Error 401
恥ずかしい質問なのでsage。
$ret = $db->simpleQuery("set client_encoding to 'EUC_JP'");
if ($ret != DB_OK) {
  exit;
}
とやったところ、エラーが発生してもexitしない。
これは、エラーが発生したときに、$retに文字列が入っていて、
比較するときに文字列->数値という変換がなされ、
if (0 != 0)
という比較になるので、このifブロックには絶対に入らない。
正しくは、
if ($ret !== DB_OK)
とする必要がある。

・・・という解釈は正しいですか?
77Error 401 : 2001/03/15(木) 14:39 ID:???
さらに疑問が。

(1)のエラー判定は、こうするしかないのでしょうか?
ほかに判断の方法はありますか?

require("DB.php");

$db = DB::connect("pgsql://localhost/testdb");
if (DB::isError($db)) {
  exit;
}

$sql = "select emp_code, emp_name from emp";
$res = $db->query($sql);
if (get_class($res) != "db_result") {    // (1)
  exit;
}
//echo $db->numrows[$res->result] . "<br>\n";
echo "<table>\n";
while ($row = $res->fetchRow(DB_FETCHMODE_ASSOC)) {
&nbsp;&nbsp;echo "<tr><td>$row[role_name]</td><td>$row[emp_name]</td></tr>\n";
}
echo "</table>\n";