dポイントプレゼントキャンペーン実施中!

過去記事を参照させていただいたのですが、
値を取ってくることができず修正点がわかりません。
アドバイスいただければと思いますのでお願いします。

テーブルは
「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);

書き方に不明な点が多いですがコメントよろしくお願いします。

A 回答 (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-inse …

この回答への補足

ご指摘ありがとうございます。
SQL部分のコーテーションは自分でも書いた後に
気がついたのですが、修正する方法がなく・・・。
申し訳ありません。

フィールドというのはDBのTableのフィールドの
事でいいでしょうか?
USERテーブルは
「userid」「user_name」「bil_id」「bil_name」
の項目があり、「userid」がAUTO_INCREMENTの項目
になっています。

確認の内容が異なっていましたらご指摘ください。
mysql_insert_id()の値の受け取り方がおかしいでしょうか?

補足日時:2006/09/11 13:32
    • good
    • 0

こんにちは



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

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!