フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援
フリーランスのためのネットビジネス専門学校 ネットで独立開業を目指す人を応援

【PHP】ループ構文「while」「for」「do-while」「foreach」の書き方【初心者】

Accessを使い慣れている人には常識なのかもしれませんが、少々ハマったのでメモしておきます。

通常、PHPのODBCでプリペアドステートメントを使用する場合は以下のように書きます(参考:odbc_prepare)。

// 公式の例の通り
$stmt    = odbc_prepare($conn, 'CALL myproc(?,?,?)');
$success = odbc_execute($stmt, array($a, $b, $c));

ところが、対象データベースがAccessの場合は以下のように ? をクォートで囲まないとエラーになります。

// ? をクォートで囲む必要がある
$stmt    = odbc_prepare($conn, "CALL myproc('?','?','?')");

Accessでは ? がワイルドカードとして扱われるのが原因なのでしょうか。
本来はドライバが吸収すべき点だと思うのですが・・・。

コメント

記事に戻る

コメントを残す