こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

mySQLでINSERT Errorとなります。

初心者です。よろしくお願いいたします。
データを入れたいのですが、エラーとなってしまいます。
以下でデータベースとテーブルを作成し、
<?php

$db_name="tori";
$tbl_name = "hato";

$db = mysql_connect('localhost', 'root', '');
if (!$db) {
die('接続できません: ' . mysql_error());
}


$sql = 'CREATE DATABASE tori';
if (mysql_query($sql, $db)) {
echo "データベースtori の作成に成功しました\n";
} else {
echo 'データベースtoriの作成に失敗しました: ' . mysql_error() . "\n";}


mysql_select_db($db_name,$db) or die("データベースへの接続エラー");


$query ="create table {$tbl_name} (
id char(8) primary key,
date TEXT,
sex TEXT,
age TEXT
)TYPE=MyISAM";

mysql_query($query);

$query ="INSERT INTO `houzingpark`.`hatogaya` (
id ,
date ,
sex ,
iro
)
VALUES (
'2', 'uu', 'ii', 'po'
)";

mysql_close($db);

?>

以下で入れ込みたいのですが、出来ないのです。
<?php
$db_name="tori";
$tbl_name = "hato";


$db = mysql_connect('localhost', 'root', '');
if (!$db) {
die('接続できません: ' . mysql_error());
}

mysql_select_db($db_name,$db) or die("データベースへの接続エラー");
$sql="INSERT INTO hatogaya (
id ,
date ,
sex ,
iro
)
VALUES (
3,
2005-12-3,
mesu,
cya
)";

mysql_query($sql);

if(!$result){print 'INSERT Error!';}

echo $sql;

mysql_close($db);

?>
でINSERTしようとするのですが、INSERT Error!と表示されてしまいます。
Adminで見るとデータベースとテーブルは出来ているのですが、どうしてもINSERTできないのです。
もう何時間も悪戦苦闘しております。
どなたかご指導よろしくお願いいたします。

投稿日時 - 2010-12-17 02:45:13

QNo.6389654

困ってます

このQ&Aは役に立ちましたか?

2人が「このQ&Aが役に立った」と投票しています

回答(2)

yambejp 様。どうもありがとうございます。
質問欄にて失礼させていただきます。
元来そそっかしい者でログインができませんでしたので、こちらから
感謝の気持ちを書かせてください。

動作いたしました。
全く細かい事をおろそかにしていたのですね。
それと、
mysql_query($sql) or die(mysql_error().$sql);
の威力は絶大でした。
今後も使わせていただきます。

どうもありがとうございました。

投稿日時 - 2010-12-17 13:11:18

ANo.1

こまかいとこから潰していってください

>$tbl_name = "hato";
なのに
>$sql="INSERT INTO hatogaya (
してますが、テーブル名はあっていますか?

dateなど予約文字も見受けますが、きちんと文字をくくってみてはどうでしょう?
投入するデータも、数値以外は文字列としていれないとトラブルのもとです。

$sql=<<<eof
INSERT INTO hatogaya (`id` ,`date` ,`sex` ,`iro`)
VALUES (3,'2005-12-3','mesu','cya')
eof;

デバッグにはdieでエラーを吐いてやる方が実務的です

mysql_query($sql) or die(mysql_error().$sql);

投稿日時 - 2010-12-17 09:25:47

あなたにオススメの質問