2016-02-10 5 views
-3

У меня есть этот PHP код:Почему я не могу вставить это заявление, чтобы SQL

  $uniqueSessionID = 'd41740fd9dc75cb8a3eeee27165d2323'; 
      $returnUrl = 'http://qapache.us.oracle.com:15671/OA_HTML/OA.jsp?OAFunc=ICX_\nCAT_PUNCHOUT_CALLBACK&OAHP=ICX_POR_HOMEPAGE_MENU&OASF=ICX_CAT_PUNCHOUT_\nCALLBACK&transactionid=1577779317' 
      $timestamp = $conn->real_escape_string('2016-02-10 07:57:21'); 
      $cxmlVersion = $conn->real_escape_string('1.1.007'); 
      $payloadID = $conn->real_escape_string('[email protected]'); 

      $sql2 = "INSERT INTO return_cart_url (`sessionid`, `timestamp`, `version`, `return_url`, `payloadID`) 
         VALUES ('{$uniqueSessionID}','{$timestamp}', '{$cxmlVersion}' '$returnUrl', '{$payloadID}')"; 

      if ($conn->query($sql2) === TRUE) { 
       echo "New record created successfully"; 
      } else { 
       echo "Error: " . $sql2 . "<br>" . $conn->error; 
      } 

И я получаю эту ошибку: Количество столбцов не совпадает с количеством значений в строке 1

Все мои столбцы - varchar. В начале у меня были только столбцы uniqueSessionID и returnURL, и с этими 2 он работал. Это произошло, когда я добавил отметку времени, cxmlVersion и payloadID.

Любой, кто может объяснить мне, почему это происходит?

+0

Попытались вторя запрос и выполнить его в PHPMyAdmin? –

ответ

2

вы забыли один , после cxmlVersion

$sql2 = "INSERT INTO return_cart_url (`sessionid`, `timestamp`, `version`, `return_url`, `payloadID`) 
        VALUES ('{$uniqueSessionID}','{$timestamp}', '{$cxmlVersion}', '$returnUrl', '{$payloadID}')"; 
6

Вы забыли 1 запятая:

'{$cxmlVersion}','$returnUrl' 
0

Я предполагаю, что это происходит потому, что вам не хватает скобки в определении значений возвратного URL, и после cxmlVersion отсутствует двоеточие.

VALUES ('{$uniqueSessionID}','{$timestamp}', '{$cxmlVersion}' '$returnUrl', '{$payloadID}')"; 

становится:

VALUES ('{$uniqueSessionID}','{$timestamp}', '{$cxmlVersion}', '{$returnUrl}', '{$payloadID}')"; 
Смежные вопросы