본문 바로가기
MySql

MySQLi는 PHP에서 업데이트 문을 준비했습니다.

by 베이스 공부 2021. 2. 10.
반응형


설명 된대로 작성해 보았습니다.

  if ($stmt = $mysqli->prepare("UPDATE tblFacilityHrs SET title =? description = ? WHERE uid = ?")){
            $stmt->bind_param('sss', $title, $desc, $uid2);

            //Get params
            $title=$_POST['title'];
            $desc=$_POST['description'];
            $uid2=$_GET['uid'];     

$stmt->execute();
            $stmt->close();
    }
    else {
        //Error
        printf("Prep statment failed: %s\n", $mysqli->error);
    }

오류:

Prep statment failed : SQL 구문에 오류가 있습니다. ~을 체크 해봐 manual that corresponds to your MySQL server version for the right syntax to use near 'description = ? WHERE uid = ?' at line 1 Edited 열.

 

해결 방법

 

설정된 열 사이에 쉼표가 누락되었습니다.

UPDATE tblFacilityHrs SET title = ?, description = ? WHERE uid = ?
                                ^^^^^^

MySQL이 매뉴얼에서 'something 근처에서 사용할 구문을 확인하십시오. 오류가 발생합니다.

참고 : 입력 변수를 설정하기 전이 아니라 설정 한 후에 bind_param () 을 호출해야 할 수도 있습니다. MySQLi가 그것들을 파싱하는 방법과 바인딩시기를 기억할 수 없지만 논리적으로 코드에서 먼저 설정 한 다음 바인딩하는 것이 더 합리적입니다.

//Get params
$title=$_POST['title'];
$desc=$_POST['description'];
$uid2=$_GET['uid'];   

$stmt->bind_param('sss', $title, $desc, $uid2);

 

참조 페이지 https://stackoverflow.com/questions/10623405

 

 

반응형

댓글