- ベストアンサー
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); 書き方に不明な点が多いですがコメントよろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
とりあえず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
その他の回答 (1)
- since_hoge
- ベストアンサー率50% (5/10)
こんにちは 念のためです。 例ではクエリの送信部分がありませんが、 mysql_insert_id()の直前に mysql_query()してますよね?
補足
ご指摘ありがとうございます。 SQL部分のコーテーションは自分でも書いた後に 気がついたのですが、修正する方法がなく・・・。 申し訳ありません。 フィールドというのはDBのTableのフィールドの 事でいいでしょうか? USERテーブルは 「userid」「user_name」「bil_id」「bil_name」 の項目があり、「userid」がAUTO_INCREMENTの項目 になっています。 確認の内容が異なっていましたらご指摘ください。 mysql_insert_id()の値の受け取り方がおかしいでしょうか?