1
내 사이트에서 현재 위치에서 편집 작업을하고 있습니다. 이제 필요한 모든 것을 설정했습니다. 사용자가 제출을 클릭하면 div
요소의 id
(내용의 종류)과 업데이트 할 새 값을 보냅니다. 이 정보를 업데이트하지 않는 이유를 모르겠어요장소 수정 업데이트 텍스트
if($pedit = $mysqli->prepare("UPDATE `accounts` SET ? = ? WHERE `id`= ? ")){
$pedit->bind_param("sss", $id, $value, $_SESSION["user_id"]);
$pedit->execute();
$pedit->free_result();
$pedit->close();
}
:
여기 내 코드입니다. $id
= 설명, 전체 이름, 이메일 등 변경 행 $value
= $id
에 대한 새로운 정보입니다. 사용자는 자신의 프로파일 정보를 업데이트 할 수 있습니다.
이 코드는 어떤 종류의 오류도 표시하지 않지만 계속 업데이트하지는 않습니다.
_column 또는 table_ 식별자 대신 '?'자리 표시자를 사용할 수 없으므로 작동하지 않습니다. 스칼라 값 (열에 할당 된 값)에 대해서만 사용할 수 있습니다. –
입력 변수'$ id'의 경우 자리 표시자를 사용할 수 없습니다. 대신, 당신은'prepare()/bind_param()/execute()'을 사용하여 피하려고했던 쿼리에 그 변수를 넣어야 만합니다. 그러나 먼저 허용 가능한 컬럼 이름의 배열로 그 변수의 유효성을 검사 할 수 있습니다. 나는 그것을 설명하는 기존의 질문을 찾고있다 - 이것은 종종 묻는다 ... –