내가 아는 바와 같이 준비된 문에 대해이 오류 (비 객체에 멤버 함수 bind_param () 호출)가 발생합니다. 이는 SQL 문에 오류가 있지만 오류를 전혀 볼 수 없음을 의미합니다. 나는 이것을 잠시 쳐다보고 있었고 오류를 볼 수 없으며 SQL 문을 에코하려고 시도했지만 좋은 것 같았습니다. 누군가 내가 여기서 어디에서 잘못되었는지 말해 줄 수 있습니까?
$sql2 =
"INSERT INTO $this->table_1 ($this->key_1, $this->key_2, $this->key_3, $this->key_4, $this->key_5)
VALUES (?, ?, ?, ?, ?);";
$stmt2 = $this->connection->prepare($sql2);
$stmt2->bind_param("isssi", $1, $2, $3, $4, $5);
$stmt2->execute();
$stmt2->close();
감사
마침내 내 문제를 발견하고 내 테이블 이름 "keys"가 예약어 인 것으로 밝혀졌고이를 이스케이프하려면이 ""keys "와 같은 백 슬래시를 사용해야했습니다 (단어 앞의 두 번째 백틱을 무시하면 코드 블록으로 바뀝니다 백틱이 하나만 있으면 귀찮게). 앞으로 누군가이 문제가 발생하고 코드가 정확하다고 확신하는 경우 열 이름이나 테이블 이름을 이스케이프하십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다