嗨,我有以下代碼;PHP/mySQL - 使用'LIKE'子句中'CONCAT'和'AS'的結果
if(! empty($post['search-bar'])) {
$search_data = preg_replace("#\s\s#is", '', preg_replace("#[^\w\d\s+]#is", '', $post['search-bar']));
$data_array = explode(" ", $search_data);
$data_array = "'%" . implode("%' OR '%", $data_array) . "%'";
$query = "
SELECT CONCAT(PROFILE_PROFFESION, FIRST_NAME, LAST_NAME, DISPLAY_NAME) AS 'STRING'
FROM `" . ACCOUNT_TABLE . "`
WHERE STRING LIKE (" . $data_array . ")
AND BUSINESS_POST_CODE LIKE '" . substr(P_BUSINESS_POST_CODE, 0, 4) . "%'";
$q = mysql_query($query, $CON) or die("_error_" . mysql_error());
if(mysql_num_rows($q) != 0) {
die();
}
}
問題是,我想使用臨時山坳「STRING」在where子句中,而是返回「未知coloumn STRING
任何一個都可以點我在正確的方向,至於菲爾
我已經打印出來查詢;
SELECT PROFILE_PROFFESION, FIRST_NAME, LAST_NAME, DISPLAY_NAME
FROM nnn_accounts
WHERE
CONCAT(PROFILE_PROFFESION, FIRST_NAME, LAST_NAME, DISPLAY_NAME)
LIKE ('%web%' OR '%design%')
AND BUSINESS_POST_CODE LIKE 'NG19%'
仍然在'where子句'中收到未知列'STRING' – 2010-04-20 05:48:03
嘗試使用''HAVING' STRING' LIKE(「)。 $ data_array。 「)(在WHERE子句 – 2010-04-20 05:50:24
之後執行這個操作,謝謝你的輸入。因爲我的問題,我必須將你的標記標記爲正確的,但是和Shrapnel指示的一樣。我的問題是我沒有得到如何將'web'或'design'返回結果,但'網頁設計'不會返回結果 – 2010-04-20 06:22:47