php
  • db2
  • ibm
  • 2010-12-18 3 views 0 likes 
    0

    Clob 필드가있는 테이블이 있습니다 (텍스트를 저장하는 IBM DB2에는 다른 데이터 타입이 있습니까?). 그래서 나는 기사 (html + css + text)를 가지고있다. 나는 htmlspecialchars($text)을 사용하여 텍스트를 준비했습니다.큰 텍스트를 PHP의 DB2 테이블에 넣기

    는 그럼 다음 일을 :

    $query="update tbl_lang_text set text='$text' where ownerid=$id and lang like '$lng' and type=1"; 
    $stmt = db2_prepare($this->conn, $query); 
    $result = db2_execute($stmt); 
    

    그래서 내가 오류가 발생했습니다. 쿼리가 너무 큽니다. 그래서. 어떻게 큰 텍스트로 필드를 업데이트 할 수 있습니까?

    추신 : 테스트 기사에는 공백이있는 28 개의 154자를 포함합니다.

    +0

    DB2 데이터베이스는 어떤 플랫폼입니까? iSeries, Windows, Linux? 덕분에 – Codemwnci

    답변

    1

    CLOB 열은 최대 2 147 483 647 문자를 사용할 수 있으므로 오류의 원인이 될 가능성은 낮습니다.

    문제가 될 수있는 것은 무엇이며 문제가 해결되지 않아도 입력을 완전히 벗어나지 못한다는 것입니다. 준비된 문을 사용하여 (예 : db2_prepare를) 좋은,하지만 당신은 여전히 ​​당신의 데이터를 가지고 매개 변수와 값을 사용할 필요가 탈출 :

    $text이 쿼리가 실패 적어도 아포스트로피 ' 것을 포함 가능성이 높다
    $query = "update tbl_lang_text set text=?". 
         "where ownerid=? and lang like ? and type=1"; 
    $stmt = db2_prepare($this->conn, $query); 
    $result = db2_execute($stmt, array($text, $id, $lng)); 
    

    때문에.

    +0

    . 그 작품! –

    관련 문제