반응형
NOT IN
절을 사용하는 MySQL 쿼리에 PHP 정수 배열을 사용하려고 시도했지만 오류가 없음에도 불구하고 항상 필터링하려는 결과를 반환하는 것 같습니다.
예:
$IDS = $_SESSION['Posts'];
$Select = 'SELECT *
FROM status
WHERE (W_ID = '.$ID.')
AND (ID NOT IN ("'.implode(',', $IDS).'"))
ORDER BY ID DESC
LIMIT '.$Begin.', '.$Number.'';
$Select = mysql_query($Select) OR DIE(mysql_error());
나는 이것이 논리적 구문 오류라고 확신합니다.
내가 테스트 한 내용 :
$ IDS가 배열로 취급되는지 확인했습니다. 또한 배열 내에 저장된 값이 있는지 테스트했습니다. 나는 또한 정수 배열을 인용하지 않았지만, 그것들이 없어서 mysql 구문 오류가 발생했습니다.
해결 방법
문제는 IN
블록의 시작과 끝에있는 두 개의 ”
입니다. 이로 인해 전체 implode 배열이 쉼표로 구분 된 문자열이됩니다.
참조 페이지 https://stackoverflow.com/questions/6352722
반응형
'MySql' 카테고리의 다른 글
MySQL PHPExcel은 CSV로 내 보내지 않습니다. (0) | 2020.10.06 |
---|---|
MySQL 무료 PHP 로그인 라이브러리 (0) | 2020.10.06 |
MySQL How to prepare statement for update query? (0) | 2020.10.05 |
MySQL Spring을 사용하여 데이터베이스에 연결할 때 오류가 발생했습니다. (0) | 2020.10.05 |
MySQL ini_set ( 'max_execution_time', 0 사용시); (0) | 2020.10.05 |
댓글