[PHP-users 32544] 入力データの MySQL への挿入について

Inoue Hiroyuki ino_ko @ yahoo.co.jp
2007年 8月 14日 (火) 11:24:40 JST


はじめまして
INO-KO と申します。

ページで入力されたデータを MySQL に挿入する処理で原因不
明の現象が起きて
いるのでアドバイスをお願いします。

【環境】
Apache:	2.2.4
MySQL:	4.1.22
PHP:	4.4.7
PEAR DB:1.7.12

◆登録をおこなうテーブル
CREATE TABLE `users` (
  `id` varchar(32) collate utf8_unicode_ci NOT NULL
default '',
  `name` varchar(128) collate utf8_unicode_ci default
NULL,
  PRIMARY KEY  (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
COLLATE=utf8_unicode_ci;


【現象】
データを入力、登録するページをそれぞれ UTF8
で作成し、$_POST 
変数で渡っ
てきたデータ(name)を

予め "SET CHARACTER SET utf8;" を実行

echo "<p>" . $_POST['name'] . "</p>\n";

$sql = "INSERT INTO users (id, name) VALUES (?, ?);";
$params = array (session_id(), $_POST['name']);

$res =& $db->query($sql, $params);
if (DB::isError ($res)) {
    die($res->getMessage());
}

として上記テーブルに挿入したところエラーは発生していませ
ん。
echo 箇所では入力したデータが渡ってきていることを確認し
ています。しかし
ながら、テーブルには入力したデータが挿入されておらず NULL 
となってしまい
ます。
このとき $_POST['name'] の代わりに直接データを指定すると
問題なく挿入され
ます。

何らかの手順が抜けているのかもしれませんが、皆目見当がつ
かない状態に陥っ
ているためアドバイスをお願いします。

不足している情報等あればご質問ください。
-- 
INO-KO
ino_ko@yahoo.co.jp


--------------------------------------
Easy + Joy + Powerful = Yahoo! Bookmarks x Toolbar
http://pr.mail.yahoo.co.jp/toolbar/



PHP-users メーリングリストの案内