简体   繁体   中英

Cannot insert data into mysql table via php

I'm sure this question has been asked a thousand times but after an hour of truly trying many examples on the web, I have failed to insert new data into my table. I have tried many methods as I said, the one I'm about to post is most recent. If anyone knows why my code is failing it would save so much stress. I have only so far managed to insert data via phpmyadmin. The database is called "test" and the table is called "getting". Please note that "key" is auto incremented.

Thank you

$username='****';
$password='****';
$database='test';



    $con= mysql_connect("localhost",$username,$password);

     mysql_select_db("test",$con);




    mysql_query("INSERT INTO getting (Key, Date, amount, tax, Extra) 
    VALUES ('', 'sept 26 2008', '35653', '46', '454')");

You should try

  1. put keywords between backticks
  2. format date as YYYY-MM-DD
  3. don't use quotes for numbers
  4. use NULL for auto-increment keys (you could also remove it from INSERT )
  5. perform error checking

Try this query

$res = mysql_query(
    "INSERT INTO getting (`Key`, `Date`, amount, tax, Extra) 
    VALUES (NULL, '2008-09-26', 35653, 46, 454)");
if (!$res) {
    die('Invalid query: ' . mysql_error());
} else  {
    // Do here what you need
}
mysql_query("INSERT INTO getting (Key, Date, amount, tax, Extra) 
    VALUES ('', 'sept 26 2008', '35653', '46', '454')") or die(mysql_error());

What does it say after execution? If there is an error in request - you will see it.

我的猜测也是由marco“4.使用NULL来自动增加键”

I belive if the 'key' filed is autoincremented you may not even bother mentioning it in your insert statement. Something like this

INSERT INTO getting (Date, amount, tax, Extra) 
VALUES ('sept 26 2008', '35653', '46', '454')

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM