2016-06-02 5 views
0

내 Riteberry Pi에서 SQLite와 PHP를 실행 중입니다.SQLite 오류 5 :

사용자가 자신의 데이터 (이름, 암호 등)를 편집 할 수있는 형태로 을 만들었습니다.

따라서 PDO를 사용합니다. followin 명령을 실행하려고하면 SQLite Error 5가 발생합니다. 데이터베이스가 잠겼습니다!

그러나 사실 데이터베이스에는 다른 연결이 없습니다. .

$ userDB-> 간부 ("UPDATE 사용자가 설정 한 passwort = '".. $ 암호' ', vorname =' ".. $ vorname" 'nachname =' "$ : 여기

명령이다 nachname. " ', email ='". $ email. " 'WHERE username ='". $ username. " '");

재미있는 점은 다른 페이지에서 거의 동일한 명령이 문제없이 실행된다는 것입니다.

Btw,이 페이지에는 DB 연결이있는 다른 PHP 스크립트가 몇 개 있지만 NULL을 설정하여 모두 닫았습니다.

누구든지 해결책을 알고 있습니까?

+0

NB : 코드가 SQL 삽입에 취약합니다. 사용자가 제공 한 데이터를 SQL 문자열에 연결해서는 안됩니다. 대신 준비된 문을 사용하십시오. – trincot

+0

'sqlite_close ($ userDB);로 기존 연결을 닫으시겠습니까? – Gadget

+0

@Gadget no. 왜냐하면 실제로 PDO를 사용하기 때문입니다. –

답변

0

좋아요. 해결책을 찾았습니다.

결과 세트를 닫는 것을 잊었습니다!

즉, 쿼리를 수행하면 결과 집합이 표시되고 페이지 끝 부분에서 다음 명령을 사용해야합니다. $ result-> closeCursor(); 및 $ result = null;

그리고 그게 전부입니다!