2010-03-19 104 views
0

這個查詢是我的返回治療師的'therapistTable.activated'等於false以及那些設置爲true!所以它基本上是選擇所有的分貝,任何意見將不勝感激!mySQL查詢不會返回正確的結果!

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

皮特:你的問題,請提供以下'SHOW的輸出CREATE TABLE therapistTable' – hobodave 2010-03-19 23:36:35

+0

我很抱歉,但那裏有一些敏感的信息在它 – 2010-03-19 23:53:59

+0

秀創建表,不會顯示任何數據。 – DarthVader 2010-03-20 00:08:55

回答

1

activated的列類型是什麼,以及表中的一些示例值是什麼?

它可能是BOOL或其他整數值嗎? 'true'是一個字符串 - TRUE是一個整數。

如果therapistTable.activated是一個BOOL,您將要比較它爲TRUE而不是一個字符串。

+0

它實際上是一個帶有字符串的varchar,但我會將其更改爲布爾值並嘗試使用 – 2010-03-19 23:37:19

+0

哦,嘿,不要隨心所欲地做這件事 - 存儲字符串值沒有任何問題。 表中的一些示例值是什麼? – TehShrike 2010-03-19 23:43:23

+0

k它沒有工作,我把它變回varchar我使用navicat設置therapistTable.activated值爲真或假沒有引號或任何東西只是, – 2010-03-19 23:51:05

0

如果您使用的是布爾類型,你應該使用TRUE而不是'true'。我不知道怎麼會導致你的問題雖然..

只是爲了解釋:TRUE是一個整數(等於1),但'true'是一個字符串。

0

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

是正確的