2012-03-21 53 views
5

嘗試在mysql語句中選擇使用「where」子句: 表:具有BINARY數據類型的ID列的X.然後在一個變量保存在PHP如何選擇一個二進制字段? (php,mysql)

$aid = $row["id"]; 

怎麼辦時,我嘗試從表

$where = "where `ID` = '$aid'"; 
$query = "SELECT * FROM X ".$where; 

返回0行選擇我使用這個變量之後。

有誰知道爲什麼?

+0

爲什麼讓你說「不工作」?你有錯誤嗎?它不會產生你期望的結果嗎?它沒有產生任何結果? – wallyk 2012-03-21 06:59:56

+0

剛剛編輯。它不會產生任何結果。 – jebberwocky 2012-03-21 07:02:28

回答

1

請嘗試以下操作:

在where子句中添加BINARY。

$where = "where BINARY ID = '$aid'"; 
$query = "SELECT * FROM X ".$where; 
4

回答我自己的問題。

就想通了:

$where = "where HEX(ID) = 'bin2hex($aid)'"; 
$query = "SELECT * FROM X ".$where; 

有誰知道更好的解決方案?

相關問題