いま一度うろ覚えなデータベースをもう一度学ぼうとしてるんですが、とっつきやすそうなSQLiteをhetemlで実験し始めています。
それでデータベースの接続、作成はうまくいったものの、sqlite_queryしたときの引数エラーが出て困った。これだとINSERTもできない。つーか、肝心のSQL文が出せない。
エラーの起きたコードはこれ。
$db = sqlite_open('test.db', 0666, $dberror);
$sql = "INSERT INTO message (id, name) VALUES (1, 'test');";
$result_flag = sqlite_query($db, $sql, SQLITE_BOTH, $dberror);
sqlite_close($db);
エラーの内容はこんな感じ。
Warning: sqlite_query() expects at most 3 parameters, 4 given in *************************/error.php on line 13
sqlite_queryって、右からSQLite データベースリソース、SQL文と来て、第4引数がerror_msg だそうでもしエラーが発生した場合に格納される変数ってこと。第3引数はresult_typeというけど、僕はまだよく分かりません。
PHP: sqlite_query - Manual
http://php.benscom.com/manual/ja/function.sqlite-query.php
で、結局、こうやったら解決した。ええとマニュアルには4つ書かれているのに。3つじゃないと駄目なんですか引数。
$db = sqlite_open('test.db', 0666, $dberror);
$sql = "INSERT INTO message (id, name) VALUES (1, 'test');";
$result_flag = sqlite_query($db, $sql);
sqlite_close($db);
今回は2つに減らしたけど、3つでもいけるかも分からんね。
Google先生にWarning検索してもうまく引っかからなかったので、メモ。とりあえず、データベースは楽しいわ。自分でデータ保存やらファイルロックとか気にしなくていいし。
- Newer: URLを保持して、ロリポブログ→WordPressへブログ移行
- Older: プリントゴッコが販売終了に思う