insert_id mysqli - PullRequest
       13

insert_id mysqli

0 голосов
/ 31 марта 2011

Я пытаюсь вернуть вставленный идентификатор из запроса MySQL INSERT. Каждый раз, когда я запускаю функцию, я получаю 0 в качестве результата. Может кто-нибудь, пожалуйста, объясните, в какой момент я могу получить значение, потому что, хотя скрипт ниже выполняется, я не могу удалить вставленный идентификатор. Наверное, сделал что-то глупое.

<?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;
}
?>

1 Ответ

0 голосов
/ 31 марта 2011

Проверьте $mysqli->insert_id после выполнения запроса на вставку.

...