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;
}
?>
도움 주셔서 감사합니다. 나는 마지막 insert_id를 가져올 수 있었는데, 이제 문제는 하나 이상의 이미지를 업로드하기 때문에 여러 insert_id가 반환된다는 것입니다. 이 값 중 하나를 사용하여 데이터베이스의 세 파일/이미지를 모두 식별 할 수있는 방법이 있습니까 ??? – paynod
나는 당신의 질문을 이해할 수 있을지 확신하지 못합니다. 예를 들어 삽입하면 3 개의 레코드가 삽입 된 ID를 배열에 저장합니다. 나중에'SELECT ... WHERE id IN (id1, id2, id3)'(배열의 문자열을'implode (",", $ array_of_ids)'로 변환 할 수 있습니다; – a1ex07