1

When i try to post my data by PHP into SQL, I get an error message on the webpage:

Error: insert INTO mydata ( uke, man1, tir1, colman1, coltir1 ) VALUES ( '7', '','','','') ON DUPLICATE KEY UPDATE man1 = , tir1 = , colman1 = , coltir1 = You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ' tir1 = ' at line 14

$uke = $_POST[uke];
$man1 = $_POST[man1];
$tir1 = $_POST[tir1];
$colman1 = $_POST[colman1];
$coltir1 = $_POST[coltir1];



  $sql = "insert INTO mydata  ( uke,  
  man1, tir1, 
  colman1, coltir1)
  VALUES 
  ( 
  '$uke',
  '$man1','$tir1',
  '$colman1','$coltir1')
ON DUPLICATE KEY UPDATE 
man1 = $man1,
tir1 = $tir1,
colman1 = $colman1,
coltir1 = $coltir1";

SQL is:

uke int(11) No  Primary NULL    
timer   float(255,2)    Yes None    NULL    
man1    decimal(20,2)   Yes None    NULL    
tir1    decimal(20,2)   Yes None    NULL    
colman1 varchar(255)    Yes None    NULL
coltir1 varchar(255)    Yes None    NULL

Can anyone give me a hint (or tell me) where i have the error?

Cœur
  • 37,241
  • 25
  • 195
  • 267
Bergum
  • 77
  • 9

2 Answers2

1
$uke = (isset($_POST[uke])) ? $_POST[uke] : '';
$man1 = (isset($_POST[man1])) ? $_POST[man1] : '';
$tir1 = (isset($_POST[tir1])) ? $_POST[tir1] : '';
$colman1 = (isset($_POST[colman1])) ? $_POST[colman1] : '';
$coltir1 = isset($_POST[coltir1])) ? $_POST[coltir1] : '';

$sql = "INSERT INTO mydata  ( uke, man1, tir1, colman1, coltir1)
    VALUES ( '$uke', '$man1','$tir1', '$colman1','$coltir1')
   ON DUPLICATE KEY UPDATE 
   man1 = '" .  $man1 . "',
   tir1 = '" . $tir1 . "',
   colman1 = '" . $colman1. "',
   coltir1 = '" . $coltir1 . "'";

Try this.

Gagan Upadhyay
  • 255
  • 2
  • 11
0

The query should be updated like this.

$sql = "insert INTO mydata  ( uke,  man1, tir1, colman1, coltir1)
                  VALUES ( '$uke','$man1','$tir1', '$colman1','$coltir1')
                ON DUPLICATE KEY UPDATE 
                man1 = '$man1',
                tir1 = '$tir1',
                colman1 = '$colman1',
                coltir1 = '$coltir1'";
Tharindu Thisarasinghe
  • 3,846
  • 8
  • 39
  • 70