English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
A função mysqli_insert_id() retorna o ID auto-incrementado gerado pela última instrução INSERT
Se você tiver uma tabela com a propriedade AUTO_INCREMENT e se a sua última chamada de função MySQLi executar uma instrução INSERT ou UPDATE. A função tem a função de: retornar o ID gerado automaticamente pela última consulta executada.
mysqli_insert_id($con)
Número | Parâmetros e descrição |
---|---|
1 | con (obrigatório) Este é um objeto que representa a conexão com o MySQL Server. |
A função mysqli_insert_id() retorna o valor da coluna configurada como AUTO_INCREMENT na tabela onde foi executada a última instrução SQL (normalmente uma instrução INSERT). Se a última instrução SQL não for uma instrução INSERT ou UPDATE, ou se a tabela não tiver coluna configurada como AUTO_INCREMENT, o valor retornado será 0.
Essa função foi introduzida na versão do PHP5introduzido e pode ser usado em todas as versões mais recentes.
Suponha que tenhamos criado uma tabela chamada Cricketers no banco de dados mydb, onde o campo ID é PRIMARY KEY e AUTO INCREMENTED:
CREATE TABLE Cricketers( ID INT PRIMARY KEY AUTO_INCREMENT, First_Name VARCHAR(255), Last_Name VARCHAR(255), Date_Of_Birth date, Place_Of_Birth VARCHAR(255), Country VARCHAR(255) );
A seguir, um exemplo demonstramysqli_insert_id()Uso da função (estilo orientado a procedimentos)-
<?php //Estabelecer conexão $con = mysqli_connect("localhost", "root", "password", "mydb"); //Inserir registro na tabela employee $sql = "insert into Cricketers values("1, "Shikhar", "Dhawan", DATE("1981-12-05), "Delhi", "India")"; mysqli_query($con, $sql); //ID de inserção $id = mysqli_insert_id($con); print("Insert ID: " . $id . "\n"); $sql = "insert into Cricketers values("2, "Jonathan", "Trott", DATE("1981-04-22), "CapeTown", "SouthAfrica")"; mysqli_query($con, $sql); $id = mysqli_insert_id($con); print("Insert ID: " . $id); //Fechar conexão mysqli_close($con); ?>
Resultados de saída
Insert ID: 1 Insert ID: 2
Em estilo orientado a objetos, a sintaxe dessa função é$ con-> insert_id();。Aqui está um exemplo da função This do estilo orientado a objetos $ minus;
<?php //Estabelecer conexão $con = new mysqli("localhost", "root", "password", "mydb"); //Inserir registro na tabela employee $con -> query("insert into Cricketers values(3, 'Kumara', 'Sangakkara', DATE('1977-10-27'), 'Matale', 'Srilanka')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state."\n"); //Inserir registro na tabela employee $con -> query("insert into Cricketers values(4, 'Virat', 'Kohli', DATE('1988-11-05'), 'Delhi', 'India')"); //Insert ID $state = $con-> insert_id; print("Insert ID: ".$state); //Fechar conexão $con -> close(); ?>
Resultados de saída
Insert ID: 3 Insert ID: 4
Aqui está a funçãomysqli_insert_idOutro exemplo-
<?php //Estabelecer conexão $con = mysqli_connect("localhost", "root", "password", "mydb"); //Consulta para selecionar todas as linhas da tabela Cricketers mysqli_query($con, "SELECT * FROM Cricketers"); print("Insert ID (select query): ".mysqli_insert_id($con)."\n"); //Consulta usada para inserir várias linhas na tabela Cricketers mysqli_query($con, "INSERT INTO Cricketers VALUES (5, 'Rohit', 'Sharma', DATE('1987-04-30'), 'Nagpur', 'India'), (6, 'Ravindra', 'Jadeja', DATE('1988-12-06'), 'Nagpur', 'India') "); print("Insert ID: (multiple inserts) ".mysqli_insert_id($con)."\n"); //Consultar linha para atualizar a tabela employee mysqli_query($con, "UPDATE Cricketers set COUNTRY = 'S.Africa' where ID = ") 2" print("ID de inserção (consulta de atualização): " . mysqli_insert_id($con) . "\n"); //A consulta insere registros na tabela employee mysqli_query($con, "INSERT INTO employee VALUES ('Sarmista', 'Sharma', 28, 'F', 15000, 101); print("ID de inserção: (tabela sem chave primária auto-incrementada) " . mysqli_insert_id($con) . "\n"); //Fechar conexão mysqli_close($con); ?>
Resultados de saída
ID de inserção (consulta de seleção): 0 ID de inserção: ( múltiplas inserções) 6 ID de inserção (consulta de atualização): 0 ID de inserção: (tabela sem chave primária auto-incrementada) 0
Os seguintes exemplos demonstram SELECT, UPDATE, INSERT e DELETE consultasmysqli_insert_idUso da função-
<?php $connection_mysql = mysqli_connect("localhost", "root", "password", "mydb"); if (mysqli_connect_errno($connection_mysql)){ echo "Falha ao conectar no MySql: " . mysqli_connect_error(); } mysqli_query($connection_mysql, "INSERT INTO Employee (name) VALUES('PHP')"); echo "Novo registro com id: " . mysqli_insert_id($connection_mysql); mysqli_close($connection_mysql); ?>
Resultados de saída
Novo registro com id: 0