2015-02-04 5 views
0

누군가가 매우 성가신 데이터베이스 오류로 도움을 줄 수 있습니까?SQL 1064 오류 - 깨진 스크립트

SQL 구문에 오류가 있습니다. 올바른 구문을 찾으려면 MySQL 서버 버전에 해당하는 설명서를 확인하십시오. 1 행의 VALUES ('0', 'Warning :') '

INSERT INTO possession_new (id,) VALUES ('0 ' '경고 :') "

내 코드 :.

스크립트가 내 회사가 소유 로그인 상태에서 다른 사이트에서 피드 내가 구축 내부 시스템에 사용되는
John, thanks for identifying this. I can't seem to identify why the $pos variable has no value? 

      '$pos = ''; 
       foreach($html_base->find('td[width=120]') as $k) 
       { 
        if(trim($k->plaintext) != '') 
        { 
         $pos .= 'poss_'.str_replace(' ', '_', substr(trim($k->plaintext), 0, -1)).", "; 
        } 
       } 

       $pos_detail = ''; 
       foreach($html_base->find('td[class=color_text_view]b') as $k) 
       { 
        $pos_detail .= "'".mysql_real_escape_string(trim($k->plaintext))."', "; 
       } 

       foreach($html_base->find('td[width=250], td[width=251], td[width=621]') as $td) 
       { 
        $input = $td->find('input[type=text], input[type=checkbox], input[name=manager], textarea'); 
        foreach($input as $in) 
        { 
         if($in->getAttribute('name') == 'manager') 
         { 
          $pos_detail .= "'".mysql_real_escape_string(trim($td->plaintext))."', "; 
          continue; 
         } 
         elseif($in->hasAttribute('rows')) 
         { 
          $pos_detail .= "'".mysql_real_escape_string(trim($td->plaintext))."', "; 
          continue; 
         } 

         elseif($in->getAttribute('name') == 'critical') 
         { 
          if($in->hasAttribute('checked')) 
          { 
           $pos_detail .= "'Y', "; 
           continue; 
          } 
          elseif(!$in->hasAttribute('checked')) 
          { 
           $pos_detail .= "'N', "; 
           continue; 
          } 
         } 
         elseif($in->getAttribute('name') == 'library') 
         { 
          if($in->hasAttribute('checked')) 
          { 
           $pos_detail .= "'Y', "; 
           continue; 
          } 
          elseif(!$in->hasAttribute('checked')) 
          { 
           $pos_detail .= "'N', "; 
           continue; 
          } 
         } 
         else 
         { 
          $pos_detail .= "'".mysql_real_escape_string(trim($in->getAttribute('value')))."', "; 
         } 


        } 
        if(!$td->find('input') && $td->previousSibling()=='<td width="120">PICOP:</td>') 
        { 
         $pos_detail .= "'', "; 
        } 
       } 

       $pos = substr($pos, 0, -2); 
       $pos_detail = substr($pos_detail, 0, -2); 

       $possession = "INSERT INTO possession_new ". 
         "(id, $pos) ". 
         "VALUES ". 
         "('0', $pos_detail)"; 
       $this->db->query($possession); 
       $possession_insert_id = $this->db->insert_id();' 

내가 가진 이 컬 스크립트를 사용할 수있는 전체 권한을 가지고 있지만, 스크립트는 지난 12 개월 동안 일했지만 그 갑자기 개발 된 이빨 문제는 ....

어떤 조언이 필요합니까?

+1

목 curl과 아무 관련이 없습니다. 제목을 편집하십시오. –

답변

3

오류 메시지에 오류가 명확하게 표시됩니다. $pos에는 쿼리를 중단시키는 값이 없습니다. 이제 을 알아야합니다. 이유는입니다.

INSERT INTO possession_new (id,) VALUES ('0', 'Warning:')" 
          ^^^^^ 
          MISSING 
+0

John, 이것을 확인해 주셔서 감사합니다. – user3096201

0

당신은 열 이름 뒤에 possession_new INTO id

INSERT를 열 이름을 누락 (ID) VALUES ('0', '경고 :') "

당신은 이름을 누락 Warning가 possession_new INTO에

INSERT 같은 예를 들어 뭔가를 삽입해야하는 열 (ID, myColumnName) VALUES ('0', '경고 :') "