Latest web development tutorials
×

PHP corso

PHP corso PHP breve introduzione PHP installare PHP grammatica PHP variabile PHP echo/print PHP Tipi di dati PHP costante PHP stringa PHP operatori PHP If...Else PHP Switch PHP schieramento PHP Ordinamento di un array PHP superglobals PHP While circolazione PHP For circolazione PHP funzione PHP Variabili magici PHP Namespace PHP Object-Oriented

PHP modulo

PHP modulo PHP Forms Authentication PHP modulo - I campi obbligatori PHP modulo - e-mail di verifica e l'URL PHP esempio forma completa PHP $_GET variabile PHP $_POST variabile

PHP Tutorial avanzato

PHP array multidimensionali PHP data PHP contenere PHP file PHP File Upload PHP Cookie PHP Session PHP E-mail PHP sicurezza E-mail PHP Error PHP Exception PHP filtro PHP Filtro avanzato PHP JSON

PHP 7 nuove funzionalità

PHP 7 nuove funzionalità

PHP Database

PHP MySQL breve introduzione PHP MySQL collegamento PHP MySQL Creazione di un database PHP MySQL Creare una tabella di dati PHP MySQL inserire i dati PHP MySQL Inserire più dati PHP MySQL prepared statement PHP MySQL leggere i dati PHP MySQL WHERE PHP MySQL ORDER BY PHP MySQL UPDATE PHP MySQL DELETE PHP ODBC

PHP XML

XML Expat Parser XML DOM XML SimpleXML

PHP & AJAX

AJAX breve introduzione AJAX PHP AJAX Database AJAX XML AJAX ricerca in tempo reale AJAX RSS Reader AJAX voto

PHP Manuale di riferimento

PHP Array PHP Calendar PHP cURL PHP Date PHP Directory PHP Error PHP Filesystem PHP Filter PHP FTP PHP HTTP PHP Libxml PHP Mail PHP Math PHP Misc PHP MySQLi PHP PDO PHP SimpleXML PHP String PHP XML PHP Zip PHP Timezones PHP Elaborazione immagini PHP RESTful

PHP MySQL inserire più dati

Utilizzare MySQLi e MySQL DOP per inserire più dati

Funzione mysqli_multi_query () viene utilizzato per eseguire più istruzioni SQL.

Gli esempi che seguono sono a "MyGuests" tabella ha aggiunto tre nuovi record:

Esempi (MySQLi - Object Oriented)

<? Php
$ Nomeserver = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "myDB";

// Crea collegamento
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Controlla collegamenti
if ($ conn-> connect_error) {
die ( "Connessione fallita:" $ conn-> connect_error.);
}

$ Sql ​​= "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'John', 'Doe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Maria', 'Moe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Julie', 'Dooley', '[email protected]') ";

if ($ conn-> multi_query ($ sql) === true) {
echo "Il nuovo record viene inserito con successo";
} Else {
. Echo "Errore:" $ sql "<br>" $ conn-> errore; ..
}

$ Conn-> close ();
?>

nota Si noti che ogni istruzione SQL deve essere separato da un punto e virgola.

Esempi (MySQLi - orientata ai processi)

<? Php
$ Nomeserver = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "myDB";

// Crea collegamento
$ Conn = mysqli_connect ($ servername, $ username, $ password, $ dbname);
// Controlla collegamenti
if (! $ conn) {
die ( "Connessione fallita:" mysqli_connect_error ().);
}

$ Sql ​​= "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'John', 'Doe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Maria', 'Moe', '[email protected]'); ";
$ Sql. = "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Julie', 'Dooley', '[email protected]') ";

if (mysqli_multi_query ($ conn, $ sql)) {
echo "Il nuovo record viene inserito con successo";
} Else {
. Echo "Errore:" $ sql "<br>" mysqli_error ($ conn); ..
}

mysqli_close ($ conn);
?>


Esempi di (DOP)

<? Php
$ Nomeserver = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "myDBPDO";

try {
$ Conn = new PDO ( "mysql: host = $ servername; dbname = $ dbname", $ username, $ password);
// Imposta la modalità di errore PDO ad eccezione
$ Conn-> setAttribute (DOP :: ATTR_ERRMODE, DOP :: ERRMODE_EXCEPTION);

// Inizia transazione
$ Conn-> beginTransaction ();
// Istruzione SQL
$ Conn-> exec ( "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'John', 'Doe', '[email protected]') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Maria', 'Moe', '[email protected]') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nome, cognome, e-mail)
VALORI ( 'Julie', 'Dooley', '[email protected]') ");

// Commit della transazione
$ Conn-> commit ();
echo "Il nuovo record viene inserito con successo";
}
catch (PDOException $ e)
{
// Se il rollback non riesce
$ Conn-> rollback ();
.. Echo $ sql "<br>" $ e-> getMessage ();
}

$ Conn = null;
?>



Utilizzare le istruzioni preparate

estensione mysqli fornisce un secondo modo per inserire dichiarazioni.

Abbiamo preparato dichiarazioni e dei parametri legati.

estensione mysql può trasmettere dati senza una dichiarazione o una query al database mysql. È possibile associare o variabili "legare" alle colonne.

Esempi (MySQLi utilizzando istruzioni preparate)

<? Php
$ Nomeserver = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "myDB";

// Crea collegamento
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Prova connessione
if ($ conn-> connect_error) {
die ( "Connessione fallita:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "INSERT INTO MyGuests VALORI (,, ???)";

// Per mysqli_stmt_prepare) Oggetti istruzione di inizializzazione (
$ Stmt = mysqli_stmt_init ($ conn);

// Dichiarazione Prepared
if (mysqli_stmt_prepare ($ stmt, $ sql)) {
// parametri Bind
mysqli_stmt_bind_param ($ stmt, 'sss', $ Nome, cognome $, $ e-mail);

// imposta i parametri ed effettuare
$ Nome = 'John';
$ Cognome = 'Doe';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Nome = 'Mary';
$ Cognome = 'Moe';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Firstname = 'Julie';
$ Cognome = 'Dooley';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);
}
}
?>

Possiamo vedere nell'esempio sopra utilizzando un sistema modulare per affrontare il problema. Siamo in grado di creare un blocco di codice per una più facile lettura e gestione.

Nota parametri legati. Diamo un'occhiata a mysqli_stmt_bind_param () codice:

mysqli_stmt_bind_param($stmt, 'sss', $firstname, $lastname, $email);

Gli argomenti vincolanti per una query e passare parametri al database. Il secondo parametro è "sss". Il seguente elenco mostra il tipo di parametro. s personaggio dice argomento mysql è una stringa.

Può essere i seguenti quattro parametri:

  • i - integer
  • d - numero a virgola mobile a doppia precisione
  • s - la stringa
  • b - un valore booleano

Ogni tipo di parametro deve essere specificato per garantire la sicurezza dei dati. Per tipo di giudizio in grado di ridurre il rischio di vulnerabilità di SQL injection.