2017-12-29 8 views
-2

로그 북을 사용하여 모든 사용자 상호 작용을 추적합니다. 페이지 검색을 MySQL 데이터베이스에 저장하려고하면이 오류가 발생합니다 : You have an error in your SQL syntax;은 MySQL을 추가 열로보고 있습니까?MySQL 쿼리를 데이터베이스에 로그로 저장

INSERT INTO logboek (omschrijving, zoek, sort, soort, user_id) VALUES ('Pagina Manuals bezocht', ' (bedrijf LIKE 'torza' OR bedrijf LIKE 'thure' OR bedrijf LIKE 'mb') AND (naam LIKE '%%') ', 'naam', 'pagina bezocht', '1') 
+0

무엇이'zoek_opdr'의 값입니까? –

+1

[PHP에서 SQL 삽입을 방지하는 방법은 무엇입니까?] (https://stackoverflow.com/questions/60174/how-can-i-prevent-sql-injection-in-php) – Progman

답변

0

데이터베이스로 전송되는 값은 "zoek"값에서 여러 인용 ' 있습니다

$sql_lgb = "INSERT INTO logboek 
       (
        omschrijving, 
        zoek, 
        sort, 
        soort, 
        user_id 
       ) 
       VALUES 
       (
        '".$omschrijving."', 
        '".$zoek_opdr."', 
        '".$sort_name."', 
        'pagina bezocht', 
        '".$_SESSION['user_id']."' 
       ) 
      "; 

// resultaat van query 
if(!$res_lgb = mysqli_query($mysqli, $sql_lgb)) { include('includes/error_database.php'); die; } 

쿼리의 출력입니다.

이러한 오류를 방지하려면 \'을 이스케이프 처리해야합니다.

또는 준비된 문과 함께 PDO를 사용하는 것이 더 좋습니다.