PHP、MYSQL初心者です。INSERT INTOでデータ登録ができません。

本を見ながらしていすのですが、上手くいきません。
別ページでは読み込んだり、表示は出来ているので、接続はできていると思います。
よろしくお願いします。
<?php
$home_page=htmlspecialchars($_POST['name']);
$conn = mysql_connect("????","????","?????");
mysql_select_db(???????,$conn);
INSERT INTO tbl VALUES('$name');
mysql_close($conn);
?>

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/08/20 13:36:28

ベストアンサー

id:taknt No.2

回答回数13539ベストアンサー獲得回数1198

http://jp.php.net/manual/ja/function.mysql-insert-id.php

こちらを参考に記述してみてください。

id:mi-kun6520

すいません、見てみましたが私にはかなり難しくてわからないです。

2011/08/15 23:08:08

その他の回答2件)

id:taknt No.1

回答回数13539ベストアンサー獲得回数1198

INSERT INTO tbl VALUES('$name');

これは SQL文だと エラーになるでしょうね。


http://dev.mysql.com/doc/refman/4.1/ja/insert.html

INSERT INTO tbl_name (col1,col2) VALUES(15,col1*2);

こんな感じで記述します。

INSERT INTO tbl (col1) VALUES('$name');

ここに カラム名を追加してみてください。

id:mi-kun6520

Parse error: syntax error, unexpected T_STRING in /home/users/0/xxx.php on line 17

記述してみましたが何故か、ダメなのです。いつも上のコードが表示されます。(col1,col2)の部分は省略できるのではないのですか?

省略せずに書いても同じコードが出ますです。

2011/08/15 22:06:58
id:taknt No.2

回答回数13539ベストアンサー獲得回数1198ここでベストアンサー

http://jp.php.net/manual/ja/function.mysql-insert-id.php

こちらを参考に記述してみてください。

id:mi-kun6520

すいません、見てみましたが私にはかなり難しくてわからないです。

2011/08/15 23:08:08
id:ty2016 No.3

回答回数2ベストアンサー獲得回数0

INSERT INTO tbl VALUES('$name');

これは、$sqlに代入してから

mysql_query($sql); という風にやります。

-------------------------------------------------

ちなみに私は下記のコードでやってますよ。

困ったら下記のコードをアレンジしてやればできると思います。

mysql_connect( $hostname, $uname, $upass);

mysql_select_db($dbname);

$sql="INSERT INTO test (test) VALUES ($test)";

mysql_query("SET NAMES utf8");

mysql_query($sql);

  • id:nmori
    ソースを見て疑問に思ったのですが、PHPだとINSERT文を直接書けるのですか?
  • id:mi-kun6520
    morinatsuさん
    phpではinsert文書けないんですか?
    根本から間違っているのですか?私・・・。
  • id:nmori
    mysql_query()関数の引数としてINSERT文の文字列を渡して間接的に発行するのではないかと思ったのですが。

    http://jp.php.net/manual/ja/function.mysql-query.php


    他の操作ではmysql_...関数を使ってらっしゃるのに、INSERT文だけ直に書かれているので疑問に思いました。

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

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません