Nwlapcug.com


Come selezionare l'ultima Auto Increment MySQL in PHP

MySQL fornisce un tipo di dati che viene incrementato automaticamente ogni volta che viene aggiunto un record a una tabella. Questo elemento di incremento automatico funge da chiave primaria per una tabella. È possibile selezionare l'ultimo record di incremento automatico utilizzando PHP eseguendo una query MySQL per selezionare LAST_INSERT_ID(), e quindi eseguire un'altra query per selezionare il record con tale valore di incremento automatico. Se si utilizza PHP per inserire record in una tabella, è possibile ottenere il valore di incremento automatico per l'ultimo record inserito da chiamata mysql_insert_id().

Istruzioni

Usare MySQL LAST_INSERT_ID()

1

Creare un nuovo file PHP con un editor o il blocco note. Connettersi al server di database e aprire il database. Ad esempio, digitare:

<? php

$dbc = mysql_connect ("localhost", "username", "password") o die(mysql_error());

$db = mysql_select_db("database") o die(mysql_error());

2

Ottenere il valore di LAST_INSERT_ID() selezionandolo dalla tabella contenente il campo a incremento automatico. Ad esempio, digitare:

$query = "SELECT LAST_INSERT_ID() da states AS id ";

$result = mysql_query o die(mysql_error());

$row = mysql_fetch_assoc($result);

$last = $row ["id"];

3

Eseguire una query per selezionare i dati per il record con l'ultimo valore di incremento automatico e stampare i dati. Ad esempio, digitare:

$query = sprintf (' Seleziona dal states dove id = "%s"', $last);

$result = mysql_query o die(mysql_error());

$row = mysql_fetch_assoc($result);

printf ("Dati per il record con l'ultimo valore di incremento automatico della % d:\r\n", $last);

print_r($Row);

Utilizzare PHP last_auto_increment

4

Creare una classe per contenere una struttura di dati che riflette la struttura del database. Ad esempio, digitare:

Classe stato {

public $name, $capital, $bird;

public function __construct($name, $capital, $bird) {

$this->name = $name;

$this->capital = $capital;

$this->bird = $bird;

}

}

5

Popolare una matrice con i dati che si desidera inserire nel database. Ad esempio, digitare:

$states = Array ();

$states ["NH"] = nuovo stato ("New Hampshire", "Concordia", "Purple Finch");

$states ["OH"] = nuovo stato ("Ohio", "Columbus", "Cardinale");

$states ["IN"] = nuovo stato ("Indiana", "Indianapolis", "Cardinale");

6

Scorrere la matrice di valori e inserirli nella tabella del database. Ad esempio, digitare:

foreach ($states come $state) {

$query = sprintf ('INSERT INTO states ( id , abbrev , name , capital , bird ) VALUES (null, "%s", "%s", "%s", "%s")', $state -> abbrev, $state -> nome, $state -> capitale, $state -> uccello);

$result = mysql_query o die(mysql_error());

printf ("Record inserito con auto-incremenet valore %d", mysql_insert_id());

}

? >

Consigli & Avvertenze

  • Se l'ultimo inserimento era un inserimento di più righe, MySQL restituisce il primo valore di incremento automatico utilizzato per il gruppo, in modo che l'inserto può essere replicato su un altro server.