こんにちは、次のコードがあります。
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();
}
}
問題は、where句で一時列「STRING」を使用したいのですが、「不明な列」が返されることです.Philについて、誰か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%'