Как выбрать из sql?

У меня есть статус sql в моем приложении (basic4android), который:

 <i>"SELECT * FROM `TempCodes` WHERE `Code` = '" & TempCode & "'"</i>

После запуска этого и отправки в файл php я получаю эту ошибку:

SELECT * FROM TempCodes WHERE Code = \'522925\'\n 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 '\'522925\'' at line 1

И я понятия не имею, что это значит! Я пробовал так много вещей, но не повезло.

Вы отправляете весь запрос в файл php?

Uueerdo 22.03.2019 23:21

Ах, похоже, ваши кавычки искажаются (ускользают, когда они не должны быть). Как правило, это плохая идея, позволяющая клиентам отправлять произвольный sql на ваш сервер/php-код. Этот запрос не работает, но ваш php-файл, вероятно, не будет иметь проблем с обработкой DROP TABLE TempCodes.

Uueerdo 22.03.2019 23:30
ПРЕДУПРЕЖДЕНИЕ: при составлении SQL используйте подготовленные операторы со значениями-заполнителями, а не просто вводить произвольный контент, так как это создает огромные риски для безопасности.
tadman 22.03.2019 23:30
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
3
79
1

Ответы 1

По-видимому, code имеет целочисленный тип, и вы пытаетесь сравнить его со строковым значением, заключив значение в кавычки. Попробуйте удалить кавычки:

"SELECT * FROM TempCodes WHERE Code = " & TempCode

Однако это не должно вызывать ошибки. Возможны неправильные результаты; но не ошибка.

Uueerdo 22.03.2019 23:25

Спасибо ! это работает! но я нашел другую проблему! «ВСТАВЬТЕ В TempCodes(ID, PhoneNumber, Code, Time, Date) ЗНАЧЕНИЯ (null, "", "", "", "")" даже с этим кодом и пустыми значениями я все равно получаю эту ошибку!

HiTCHER 23.03.2019 07:28

Во-первых, если ID является первичным ключом, и вам не разрешено вставлять null в первичный ключ. Кроме того, что касается других четырех столбцов, вы можете вставить empty strings только в столбцы, типы которых string. Если их типы не string, вам нужно заменить empty strings на null, если они nullable. Пожалуйста, если вы можете найти здесь ответ на свое исходное сообщение, отметьте его как ответ и создайте новые сообщения для других вопросов.

Amir Molaei 23.03.2019 07:52

Другие вопросы по теме