하나의 특정 데이터 항목을 제외한 모든 경우에 내 MySQL 쿼리가 작동하는 이상한 문제가 발생했습니다. 이 쿼리() 함수 워드 프레스 $ wpdb-> get_results에 공급변수가 사용될 때 MySQL 쿼리가 작동하지 않음 쿼리 내
SELECT * FROM wp_songs WHERE album_name = '{$current_album}'
:
여기 내 쿼리입니다. 쿼리 대신에 변경되는 경우,
그러나 :
SELECT * FROM wp_songs WHERE album_name = 'Raw & Uncut: The Mixtape'
데이터는 문제없이 발견된다 :는 "믹스 테이프 원시 & 포경 :"몇 가지 이유 때문에이 특정 데이터 항목을 찾을 수 없다.
$ wpdb-> last_query 함수를 실행하면 두 경우 모두 똑같은 줄이 반환됩니다.
문제는 하나의 데이터 입력에만 해당됩니다. 다른 데이터 항목으로 문제를 재현 할 수 없었습니다. 다른 모든 항목은 원래 쿼리와 함께 작동합니다.
더 코드 :
이 작동하지 않습니다
는$current_album = "Raw & Uncut: The Mixtape";
$songs = $wpdb->get_results("SELECT * FROM wp_songs WHERE album_name = '{$current_album}'")
if ($songs) { echo "Works"; }
이 작동 :
$songs = $wpdb->get_results("SELECT * FROM wp_songs WHERE album_name = 'Raw & Uncut: The Mixtape'");
if ($songs) { echo "Works"; }
다시, 특정 데이터 항목에 대해서만입니다. 다른 모든 항목은 두 쿼리 모두에서 작동합니다.
실행하기 위해서 var_dump ($의 current_album는) 반환
문자열 (28) "원시 & 포경 : :이 믹스 테이프"
string(28) "Raw & Uncut: The Mixtape"
모든 관련 코드를 표시하십시오. –
특수 문자가없는 문자열로이 구문을 시도하십시오. 제 생각에는 "&"와 ":"가 문제를 만든 것 같습니다. – Sliq
특수 문자를 포함하지 않는 문자열과 함께 작동하지만 변수를 사용하지 않는 경우에도 작동합니다. – Vince