Latest web development tutorials
×

PHP kurs

PHP kurs PHP krótkie wprowadzenie PHP zainstalować PHP gramatyka PHP zmienna PHP echo/print PHP Typy danych PHP stały PHP sznur PHP operatorzy PHP If...Else PHP Switch PHP szyk PHP Sortowanie tablicy PHP superglobalne PHP While krążenie PHP For krążenie PHP funkcja PHP Magiczne Zmienne PHP Przestrzenie nazw PHP Obiektowe

PHP forma

PHP forma PHP Uwierzytelnianie za pomocą formularzy PHP forma - wymagane pola PHP forma - Weryfikacja e-mail i adres URL PHP Kompletna wystąpienie formularza PHP $_GET zmienna PHP $_POST zmienna

PHP zaawansowane Tutorial

PHP Tablice wielowymiarowe PHP data PHP zawierać PHP plik PHP Prześlij plik PHP Cookie PHP Session PHP E-mail PHP bezpieczeństwo E-mail PHP Error PHP Exception PHP filtr PHP Filtr zaawansowany PHP JSON

PHP 7 Nowe funkcje

PHP 7 Nowe funkcje

PHP baza danych

PHP MySQL krótkie wprowadzenie PHP MySQL połączenie PHP MySQL Tworzenie bazy danych PHP MySQL Tworzenie tabeli danych PHP MySQL Należy wprowadzić dane PHP MySQL Wstawić wiele danych PHP MySQL Przygotowane sprawozdania PHP MySQL odczytać dane 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 krótkie wprowadzenie AJAX PHP AJAX baza danych AJAX XML AJAX Wyszukiwanie w czasie rzeczywistym AJAX RSS Reader AJAX głosowanie

PHP Reference Manual

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 Przetwarzanie obrazu PHP RESTful

PHP MySQL wstawić wiele danych

Użyj MySQLi i PDO MySQL wstawić wiele danych

Funkcja mysqli_multi_query () służy do wykonywania wielu instrukcji SQL.

Poniższe przykłady mają "MyGuests" tabeli dodaje trzy nowe rekordy:

Przykłady (MySQLi - Object Oriented)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "MojaBD";

// Utwórz link
$ Conn = new mysqli ($ nazwa_serwera, $ username, $ password, $ dbname);
// sprawdza linki
if ($ conn-> connect_error) {
die ( "Połączenie nie powiodło się:" $ conn-> connect_error.);
}

$ Sql ​​= "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Jan", "Kowalski", "[email protected] ');";
$ SQL. = "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Mary", "Moe", "[email protected] ');";
$ SQL. = "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Julie", "Dooley", "[email protected] ')";

if ($ conn-> multi_query ($ sql) === TRUE) {
echo "Nowa płyta jest włożona pomyślnie";
} Else {
. Echo "Błąd:" $ sql "Największa" $ conn-> Błąd; ..
}

$ Conn-> close ();
?>

uwaga Należy pamiętać, że każda instrukcja SQL muszą być oddzielone średnikiem.

Przykłady (MySQLi - zorientowane na proces)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "MojaBD";

// Utwórz link
$ Conn = mysqli_connect ($ nazwa_serwera, $ username, $ password, $ dbname);
// sprawdza linki
if (! $ conn) {
die ( "Połączenie nie powiodło się:" mysqli_connect_error ().);
}

$ Sql ​​= "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Jan", "Kowalski", "[email protected] ');";
$ SQL. = "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Mary", "Moe", "[email protected] ');";
$ SQL. = "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Julie", "Dooley", "[email protected] ')";

if (mysqli_multi_query ($ conn, $ sql)) {
echo "Nowa płyta jest włożona pomyślnie";
} Else {
. Echo "Błąd:" $ sql "Największa" mysqli_error ($ conn); ..
}

mysqli_close ($ conn);
?>


Przykłady (PDO)

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

try {
$ Conn = new PDO ( "mysql: host = $ nazwa_serwera; nazwa_bd = $ nazwa_bd" $ username, $ password);
// Ustaw tryb błędu PDO wyjątkiem
$ Conn-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

// Zacznij transakcję
$ Conn-> beginTransaction ();
// Instrukcja SQL
$ Conn-> exec ( "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Jan", "Kowalski", "[email protected] ')");
$ Conn-> exec ( "INSERT INTO MyGuests (imię, nazwisko, e-mail)
VALUES ( "Mary", "Moe", "[email protected] ')");
$ Conn-> exec ( "INSERT INTO MyGuests (imię, nazwisko, e-mail)
WARTOŚCI ( "Julie" Dooley "," [email protected] ")");

// Commit transakcję
$ Conn-> commit ();
echo "Nowa płyta jest włożona pomyślnie";
}
catch (PDOException $ e)
{
// Jeśli nie wycofywania
$ Conn-> rollback ();
.. Echo $ sql "Największa" $ e-> getMessage ();
}

$ Conn = null;
?>



Użyj przygotowanych sprawozdań

mysqli rozszerzenie zapewnia drugi sposób wstawić oświadczenia.

Przygotowaliśmy oświadczenia i związane parametry.

Rozszerzenie mysql może przesyłać dane bez rachunku lub zapytania do bazy danych mysql. Można skojarzyć lub "bind" zmienne do kolumn.

Przykłady (MySQLi wykorzystaniem przygotowanych sprawozdań)

<? Php
$ Servername = "localhost";
$ Username = "username";
$ Password = "password";
$ Dbname = "MojaBD";

// Tworzenie połączenia
$ Conn = new mysqli ($ nazwa_serwera, $ username, $ password, $ dbname);
// Test połączenia
if ($ conn-> connect_error) {
die ( "Połączenie nie powiodło się:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "INSERT INTO MyGuests wartości (,, ???)";

// Aby mysqli_stmt_prepare () oświadczenie inicjalizacji obiektów
$ Stmt = mysqli_stmt_init ($ conn);

// Przygotowane oświadczenie
if (mysqli_stmt_prepare ($ stmt, $ sql)) {
// parametry Bind
mysqli_stmt_bind_param ($ stmt 'sss', $ imię, Nazwisko $, $ e-mail);

// Ustawiamy parametry i wykonać
$ Imię = 'Jan';
$ Nazwisko = 'Kowalski';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Imię = "Mary";
$ Nazwisko = 'Moe';
$ Email = '[email protected]';
mysqli_stmt_execute ($ stmt);

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

Widzimy w powyższym przykładzie za pomocą modułowych radzić sobie z tym problemem. Możemy stworzyć blok kodu dla łatwiejszego czytania i zarządzania.

Uwaga związane parametry. Spójrzmy na mysqli_stmt_bind_param () kod:

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

Wiązanie argumenty do kwerendy i przekazywanie parametrów do bazy danych. Drugim parametrem jest "sss". Poniższa lista przedstawia typ parametru. s znaków mówi argumentem mysql jest ciągiem.

Może to być następujące cztery parametry:

  • I - całkowita
  • d - podwójnej precyzji liczbę zmiennoprzecinkową
  • s - łańcuch
  • b - wartość logiczna

Każdy typ parametru musi być określona w celu zapewnienia bezpieczeństwa danych. Według rodzaju wyroku może zmniejszyć ryzyko podatności SQL injection.