2011-03-31 5 views
0

삽입 된 ID를 mysql INSERT 쿼리에서 반환하려고합니다. 함수를 실행할 때마다 결과 값으로 0이됩니다. 누군가가 내가 값을 검색 할 수있는 시점을 설명해 주시겠습니까? 아래 스크립트가 실행 되더라도 삽입 된 ID를 퇴직시킬 수 없기 때문입니다. 아마도 어리석은 짓을했을거야.insert_id mysqli

<?php 
public function execSQL($sql, $params, $close){ 
    $mysqli = new mysqli(DB_HOST,DB_USER,DB_PASSWORD,DB_NAME); 
    $stmt = $mysqli->prepare($sql) or die ("Failed to prepared the statement!"); 
    call_user_func_array(array($stmt, 'bind_param'), $this->refValues($params)); 

    $this->insert_id($this->connection); 
    $stmt->execute(); 
    if($close){ 
     $result = $mysqli->affected_rows; 
    } else { 
     $meta = $stmt->result_metadata(); 
     while ($field = $meta->fetch_field()) { 
     $parameters[] = &$row[$field->name]; 
     } 
     call_user_func_array(array($stmt, 'bind_result'), $this->refValues($parameters)); 
     while ($stmt->fetch()) { 
     $x = array(); 
     foreach($row as $key => $val) { 
      $x[$key] = $val; 
     } 
     $results[] = $x; 
     } 
    $result = $results; 
    } 
    $stmt->close(); 
    $mysqli->close(); 

    return $result; 
} 
?> 

답변

0

삽입 쿼리를 실행 한 후 확인하십시오.

+0

도움 주셔서 감사합니다. 나는 마지막 insert_id를 가져올 수 있었는데, 이제 문제는 하나 이상의 이미지를 업로드하기 때문에 여러 insert_id가 반환된다는 것입니다. 이 값 중 하나를 사용하여 데이터베이스의 세 파일/이미지를 모두 식별 할 수있는 방법이 있습니까 ??? – paynod

+0

나는 당신의 질문을 이해할 수 있을지 확신하지 못합니다. 예를 들어 삽입하면 3 개의 레코드가 삽입 된 ID를 배열에 저장합니다. 나중에'SELECT ... WHERE id IN (id1, id2, id3)'(배열의 문자열을'implode (",", $ array_of_ids)'로 변환 할 수 있습니다; – a1ex07