quocard回答ポイント 80ptウォッチ 3

sqlite3での質問です。

DB自体をはじめて触ります。
PDOでデータの出し入れをしているのですがupdateの際に以下のエラーが出てきます。
Fatal error: Call to a member function bindParam() on a non-object in /サーバー内パス/example.php on line 102
色々と調べて文字コードなんかが原因である事が多いとわかりました。
今は以下のコードでデータには特に何もせずにデータをDBに放り込んでいます。
098行目 $sql = "INSERT INTO blog(id, example)
099行目  VALUES(:id, :example,)";
100行目 $conn = new PDO("sqlite:./test.sql");
101行目 $stmt = $conn->prepare($sql);
102行目 $stmt->bindParam(":id", $id);
103行目 $stmt->bindParam(":example", $example);
104行目 $stmt->execute();
105行目 $id = $conn->lastInsertId();
IDやexampleにはPOSTのデータがそのまま入っています。
そこで質問なのですが、DBに入れる放り込む際にやった方がよいことが以下でいいかどうか教えてください。
文字コードの変換とHTMLエンティティに変換
$_POST['id'] = mb_convert_encoding($_POST['id'], "UTF-8", "auto");
$_POST['id'] = htmlspecialchars($_POST['id']);
insertとupdateではまた違うのかもしれませんが、DBにデータを入れる際にやったほうがいいことや気をつけた方がよい事があればご教示ください。

※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
ログインして回答する

みんなの回答

この質問へのコメント

この質問への反応(ブックマークコメント)

質問の情報

登録日時
2011-02-04 12:15:10
終了日時
2011-02-05 21:46:59
回答条件
1人2回まで

この質問のカテゴリ

この質問に含まれるキーワード

SQLite118SQL1319PHP7798UTF-8628文字コード574HTML5036blog792dB1997サーバー4609

人気の質問

メニュー

PC版