我在成員表[A-,A +,B +,B-,AB +,AB-,O +,O-中有血型數據] 我有一個血型數據搜索功能,可以讓我選擇以上血型,並搜索具有選定血型的會員。 但我的查詢並沒有把我帶到血型以「+」結尾的成員。對於血型爲「 - 」的成員,同樣的查詢工作正常。如何在mysql中使用「+」來管理數據,其中子句
然後,我將查詢結果傳遞給提取最終查詢結果的JavaScript網址。所以我覺得javascript變量在得到+時會結束。那麼如何管理呢?
這是我的查詢:
$bldgroup = mysql_real_escape_string($_POST["bldgroup"]);
$sqlsearch = mysql_query("SELECT * from member
WHERE blood_group='$bldgroup'
ORDER BY memid ASC");
<script>
var url = "../include/query.php?flag=search&&query="+sqlsearch;
</script>
<div><label>Blood Group</label></div>
<div>
<select id="bldgroup" name="bldgroup" >
<option value="">Select</option>
<option value="A+">A+</option>
<option value="A-">A-</option>
<option value="B+">B+</option>
<option value="B-">B-</option>
<option value="AB+">AB+</option>
<option value="AB-">AB-</option>
<option value="O+">O+</option>
<option value="O-">O-</option>
</select>
</div>
</div>
//This the content inside ./include/query.php file
if(isset($_REQUEST["flag"]))
{
$list = $_REQUEST["flag"];
if($list == "search")
{
$query = $_REQUEST["query"];
$sql = $query;
$sql.= mysql_query" ORDER BY t1.MemberID DESC";
}
}
在打開PHP標記 (例如'<?php error_reporting(E_ALL);)後立即在文件頂部添加錯誤報告。 ini_set('display_errors',1);'然後你的代碼的其餘部分,看看它是否產生任何東西。 還要把'或者死(mysql_error())'添加到'mysql_query()'中。 –
請[停止使用'mysql_ *'函數](http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php)。他們不再被維護,並[正式棄用](https://wiki.php.net/rfc/mysql_deprecation)。瞭解[準備的陳述](http://en.wikipedia.org/wiki/Prepared_statement),並使用[PDO](http://jayblanchard.net/demystifying_php_pdo.html)。 –
'+'號會導致字符串結束..您應該使用**'prepared statement' **代替。您可以在這裏找到幫助[http://php.net/manual/en/mysqli.quickstart .prepared-statements.php) –