Имя файла в предложении WHERE Mysql ничего не возвращает - PullRequest
2 голосов
/ 13 января 2010

У меня есть запрос SELECT, который ничего не возвращает из указанной таблицы, но путь к файлу хранится в этой таблице;

SELECT * from tableName WHERE imageFile = "C: \ Documents and Settings \ Альберт Байита \ Desktop \ MovieImages \ TheLordOfTheRingsTheFellowship.jpg";

Любой совет приветствуется.

Ответы [ 3 ]

4 голосов
/ 13 января 2010

Символ обратной косой черты является escape-символом в строках в MySQL. Чтобы поместить обратную косую черту в строковый литерал в запросе, вы должны экранировать его с помощью двойной обратной косой черты. Также строка в SQL использует апострофы в качестве разделителя, а не кавычки.

SELECT * from tableName WHERE imageFile = 'C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg';

Лучше всего, конечно, вместо этого использовать параметризованный запрос.

0 голосов
/ 13 января 2010

почему вы храните весь путь в базе данных

Вы должны найти что-то, чтобы сохранить только имя изображения

или если вы хотите сохранить весь путь

попробуй

чтобы удвоить обратную косую черту \

SELECT * from tableName WHERE imageFile = "C:\\Documents and Settings\\Albert Bayita\\Desktop\\MovieImages\\TheLordOfTheRingsTheFellowship.jpg";
0 голосов
/ 13 января 2010

Ваша таблица tableName, вероятно, не имеет imageFile строки с точным путем.

Возможно, путь хранится по-другому (возможно, \ указан в \)?

Откуда вы знаете, что существует именно так, как вы ввели в запрос?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...