2015-04-16 3 views
-1

У меня возникли проблемы с моим кодом прямо сейчас. Я пытаюсь вставить данные в одну и ту же таблицу и один и тот же идентификатор с другой страницы. Вот код. :)Код ошибки MySQL: 1064. У вас есть ошибка в синтаксисе SQL (дубликат)

$lastid = mysql_insert_id(); 

    $sql = "UPDATE `sign_up_form3` SET `phone`=$phone, `address1`=$address1, `address2`=$address2, `city`=$city, `province`=$province, `zipcode`=$zipcode, `card_no`=$card_no, `ccv`=$ccv, `card_type`=$card_type, `exp_date`=$exp_date, `card_holder`=$card_holder WHERE userID=$lastid"; 

Ваша помощь будет оценена.

ответ

1

Похоже, что вам нужно поставить одиночные кавычки вокруг каждого из таких параметров, как:

phone='$phone' 

Обратите внимание, что они не являются обратные кавычки, но одиночные кавычки.

+0

Это должно быть «phone = '». $ Phone. "'," , так что он добавляет строки вместе –

+1

С каких пор требуется строка кота в двойных кавычках? В частности, $ a = "phone = '$ phone" идентичен $ a = "phone ='". $ Phone. "'"; – mlewis54

0

Прежде всего, это ВЫСОКО НЕЗАКОННО, и вы должны использовать подготовленные заявления, но я отвечу на вопрос, поскольку это означает, что кто-то еще запутался. У вас есть строка, и вы пытаетесь добавить переменные mid string. Вот что должно выглядеть:

$sql = "... SET `phone` = '" . $phone . "', `address1` = '" . $address1 . "', etc.... 

Таким образом, php интерпретирует его как «некоторую строку». $ variable. "more string"

". $ var." - это то, что вам не хватает. его эквивалент «добавления» строк вместе. НАПРИМЕР. «Hello» + «World» = «Hello World» в php

"hello "."world" = "hello world" 

Надеюсь, это поможет в будущем!

РЕДАКТИРОВАТЬ: Неправильная конструкция струны. Оставлять это как есть для будущего. Но опять же, вы действительно должны перейти к подготовленным заявлениям, когда узнаете немного больше. Они более безопасны.

+1

Хотя я согласен с тем, что это небезопасно, ваш ответ на самом деле не является ответом. Как и в моем комментарии выше. Проблема заключается в отсутствии одиночных кавычек, а не в том, как построена строка. С каких пор требуется строчная кошка в двойных кавычках? В частности, $ a = "phone = '$ phone" идентичен $ a = "phone ='". $ Phone. "'"; – mlewis54

+0

Просто набросился на мой сервер и понял, что вы правы в построении струны. Благодаря! –

+0

Не проблема, это экономит много печатных знаков и возможных ошибок. Я даже использую конструкцию $ var = "$ var1 $ var2 $ var3"; а не $ var = $ var1. $ var2. $ var3; по той же причине. – mlewis54

Смежные вопросы