• ベストアンサー

mysql_insert_id()の使い方

過去記事を参照させていただいたのですが、 値を取ってくることができず修正点がわかりません。 アドバイスいただければと思いますのでお願いします。 テーブルは 「userid」「user_name」「bil_id」「bil_name」 で、「user_name」「bil_id」「bil_name」は、 他から「in1」~で読み込んでいます。 //SQL $sql= "insert into user set user_name=($_POST["in1"]),bil_id=・・・(略) $rec=mysql_insert_id(); print($rec); 書き方に不明な点が多いですがコメントよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

とりあえずsqlへのデータ受け渡しがおかしそうですね。 >$sql= "insert into user set user_name=($_POST["in1"]),bil_id=・・・(略) コーテーション内の配列は引数のコーテーションをとる 必要があります。 またuser_nameはおそらくvarchar型なので、データは コーテーションでくくる必要があります。 $sql= "insert into user set user_name='{$_POST[in1]}',bil_id=・・・(略) としてはいかがでしょうか? それとmysql_insert_id()はAUTOINCREMENTとのセット のようですが、ちゃんとフィールドは用意していますか? http://www.php.net/manual/ja/function.mysql-insert-id.php

getamato
質問者

補足

ご指摘ありがとうございます。 SQL部分のコーテーションは自分でも書いた後に 気がついたのですが、修正する方法がなく・・・。 申し訳ありません。 フィールドというのはDBのTableのフィールドの 事でいいでしょうか? USERテーブルは 「userid」「user_name」「bil_id」「bil_name」 の項目があり、「userid」がAUTO_INCREMENTの項目 になっています。 確認の内容が異なっていましたらご指摘ください。 mysql_insert_id()の値の受け取り方がおかしいでしょうか?

その他の回答 (1)

回答No.2

こんにちは 念のためです。 例ではクエリの送信部分がありませんが、 mysql_insert_id()の直前に mysql_query()してますよね?

関連するQ&A