2013-03-25 1 views
0

Хорошо, я продолжаю получать:мне нужна помощь в определивших, что случилось с моим ВЕЬЕТЕ

Fatal error: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax:

Моя ВЕЬЕТЕ выглядит следующим образом:

"DELETE FROM tblSymbol WHERE UserID=$PersonID"."AND Symbol=$stock" 

Кто-нибудь видел ли что-то неправильно с моим удалить заявление? Я использую его правильно?

ответ

1

В

"DELETE FROM tblSymbol WHERE UserID=$PersonID"."AND Symbol=$stock" 

Когда вы конкатенации, он будет выглядеть следующим образом:

DELETE FROM tblSymbol WHERE UserID=$PersonIDAND Symbol=$stock 

Уведомление нет пространства до и.

Кроме того, убедитесь, что переменные $ заменяются правильно, поскольку SQL будет ожидать правильных типов данных (числа, или строки, заключенные в кавычки, или ...)

+0

спасибо, ребята. Это избавилось от этой ошибки, но теперь Im получает фатальную ошибку: Неизвестный столбец «MCD» в разделе «where». что бы это вызвало? – user2014904

1

Попробуйте

$query = 'DELETE * FROM tblSymbol WHERE UserID='.$PersonID.' AND Symbol='.$stock; 

Или, в качестве альтернативы

$query = 'DELETE * FROM tblSymbol WHERE UserID=$PersonID AND Symbol=$stock'; 

EDIT:
Обратите внимание, что Я добавил символ *, что означает «удалить все, что соответствует критериям»

+0

спасибо, ребята. Это избавилось от этой ошибки, но теперь Im получает фатальную ошибку: Неизвестный столбец «MCD» в разделе «where». что бы это вызвало? – user2014904

+0

Вы не указали, что хотите удалить, см. Мое редактирование –

+0

Что вы имеете в виду? – user2014904

2

Прежде всего, перед AND не должно быть места.

Во-вторых, ваш код уязвим для SQL-инъекции. Вы не должны использовать $ variables для создания своих операторов. Вместо этого используйте ? вместо prepared statements.

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