2010-03-19 3 views
0

Этот запрос, который у меня есть, возвращает терапевтов, чей «therapistTable.activated» равен false, а также те, которые установлены в true! так что это в основном выбор всех db, любой совет будет оценен!mySQL-запрос не возвращает правильные результаты!

 
`   $query = "SELECT 
       therapistTable.* 
       FROM 
       therapistTable 
       WHERE 
       therapistTable.activated = 'true' 
       ORDER BY 
       therapistTable.distance 
       ";    
` 
+1

Пит: В ваш вопрос, пожалуйста, обеспечить выпуск следующей 'SHOW CREATE TABLE therapistTable' – hobodave

+0

им жаль, но Theres некоторые чувствительные данные в это –

+0

шоу создать таблицу, обыкновение показывать любые данные. – DarthVader

ответ

1

Каков тип столбца столбца activated и каковы некоторые значения выборки из таблицы?

Возможно, это BOOL или какое-либо другое целочисленное значение? 'true' - строка - TRUE - целое число.

Если therapistTable.activated является BOOL, вам нужно сравнить его с TRUE вместо строки.

+0

его фактически varchar со строкой, но я изменю его на логическое и попробую –

+0

О, эй, не делай этого по прихоти - ничего плохого в хранении строковых значений. Каковы некоторые значения выборки из таблицы? – TehShrike

+0

k это не сработало, я вернул его в varchar. Я использую navicat, чтобы установить значение therapistTable.activated для true или false. Никакие кавычки или что-то только это, –

0

Если вы используете логический тип, вы должны использовать TRUE и не 'true'. Я не знаю, как это могло бы вызвать вашу проблему, хотя ..

Просто для объяснения: TRUE - целое число (равное 1), но 'true' - это строка.

0

$query = "SELECT therapistTable.* FROM therapistTable WHERE therapistTable.activated = 'true' ORDER BY therapistTable.distance ";

правильно

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