나는 이것을 여러 번 검토했으며 누군가 내가 누락 된 것을 밝힐 수있는 이유가 내 준비된 진술임을 밝힐 수없는 이유를 찾을 수 없다.sql 준비된 mysqli 문에서 IF 문
준비된 문을 초기화 한 후 $query
에서 var_dump
을 직접 수행하면 false를 반환합니다.
$query = $link->prepare("IF (EXISTS(SELECT * FROM banned WHERE ipAddr=? OR uid=?)) THEN UPDATE banned SET isBanned='1', ipAddr=?, uid=?, bannedAt=NOW(), reason=? WHERE ipAddr=? OR uid=? ELSE INSERT INTO banned (isBanned, ipAddr, uid, bannedAt, reason) VALUES('1', ?, ?, NOW(), ?) END IF");
$query->bind_param("sisissisis", $details['IP'], $details['uid'], $details['IP'], $details['uid'], $details['reason'], $details['IP'], $details['uid'], $details['IP'], $details['uid'], $details['reason']);
테이블 구조는
banned
------
id, uid, ipAddr, bannedAt, reason, isBanned
참고 :이 후 같은 결과를 얻을 수있는 가장 좋은 방법이 아닌 경우 제안을 제공하시기 바랍니다
많은 청소기 aswell 모양을 당신을 감사합니다 :) – Ciaran