2015-08-14 31 views
-1

無論如何在查詢中使用「&」?當我嘗試這個查詢時,返回一個未定義的變量錯誤。在MySQL查詢中使用「&」字符

"SELECT DISTINCT model FROM carval_data WHERE make = 'A&W' ORDER BY CAST(model AS CHAR)" 

編輯:只是想通了它不是MySQL的問題,而是PHP。任何解決方案

第二個編輯:這是什麼返回

<b>Warning</b>: Invalid argument supplied for foreach() in <b>/var/www/html/carval.php</b> on line <b>33</b><br /><br /> 

<b>Notice</b>: Undefined variable: query in <b>/var/www/html/carval.php</b> on line <b>41</b><br /><br /> 

<b>Warning</b>: mysqli_query(): Empty query in <b>/var/www/html/carval.php</b> on line <b>41</b><br /><br /> 

<b>Warning</b>: mysqli_error() expects exactly 1 parameter, 0 given in <b>/var/www/html/carval.php</b> on line <b>44</b><br /> 

這裏的線32-50

foreach($body as $key => $jsons) { 
    foreach($jsons as $key => $value) { 
     if($key == 'query'){ 
      $query = $value; 
     } 
    } 
} 

mysqli_set_charset($link, 'utf8'); 
$result = mysqli_query($link, $query); 

if($result === FALSE){ 
    die(mysqli_error()); 
} 

if (!$query) { 
    echo 'MySQL Error: ' . mysqli_error(); 
    exit; 
} 
+0

CHAR(38)使用CONCAT()函數獲得更可預測的結果 –

+1

您的查詢完全適用於MySQL 5.6。請看這裏的例子:http://sqlfiddle.com/#!9/a649a/2。也許你的PHP或類似的腳本有一個未定義的變量。 – zedfoxus

+0

是的,只是想出了。我想這是我的PHP的問題。有什麼辦法解決這個問題? – JerryCrowley

回答

1

CHAR(38)使用CONCAT()函數更可預測的結果。還可以在查詢窗口中測試您的答案,然後在.Net C#(或其他)庫中測試您的答案。您可能會發現您的問題不在原始SQL級別,而是客戶端庫。