Latest web development tutorials
×

PHP curso

PHP curso PHP breve introdução PHP instalar PHP gramática PHP variável PHP echo/print PHP Tipos de dados PHP constante PHP corda PHP operadores PHP If...Else PHP Switch PHP ordem PHP Classificação de uma matriz PHP superglobais PHP While circulação PHP For circulação PHP função PHP Variáveis ​​mágicas PHP namespaces PHP Object-Oriented

PHP formulário

PHP formulário PHP Autenticação de formulários PHP formulário - campos obrigatórios PHP formulário - -mail de verificação e URL PHP instância de formulário completo PHP $_GET variável PHP $_POST variável

PHP Tutorial avançado

PHP arrays multidimensionais PHP data PHP conter PHP arquivo PHP Carregar arquivo PHP Cookie PHP Session PHP E-mail PHP segurança E-mail PHP Error PHP Exception PHP filtro PHP Filtro avançado PHP JSON

PHP 7 novos Recursos

PHP 7 novos Recursos

PHP banco de dados

PHP MySQL breve introdução PHP MySQL conexão PHP MySQL Criação de um banco de dados PHP MySQL Criar uma tabela de dados PHP MySQL inserir dados PHP MySQL Inserir dados múltiplos PHP MySQL instruções preparadas PHP MySQL ler dados 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 introdução AJAX PHP AJAX banco de dados AJAX XML AJAX busca em tempo real AJAX RSS Reader AJAX voto

PHP manual de referência

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 Processamento de imagem PHP RESTful

PHP MySQL inserir dados múltiplos

Use MySQLi e DOP MySQL para inserir dados múltiplos

função mysqli_multi_query () é usado para executar várias instruções SQL.

Os seguintes exemplos são a "MyGuests" mesa acrescentou três novos recordes:

Exemplos (MySQLi - Object Oriented)

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

// Criar link
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Verificar hiperligações
if ($ conn-> connect_error) {
Die ( "A ligação falhou:" $ conn-> connect_error.);
}

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

if ($ conn-> multi_query ($ sql) === TRUE) {
echo "O novo registro é inserido com sucesso";
} Else {
. Eco "Erro:" $ sql "<br>" $ conn-> erro; ..
}

$ Conn-> close ();
?>

nota Note-se que cada instrução SQL devem ser separados por ponto e vírgula.

Exemplos (MySQLi - orientada para o processo)

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

// Criar link
$ Conn = mysqli_connect ($ servername, $ username, $ password, $ dbname);
// Verificar hiperligações
if (! $ conn) {
die ( "A ligação falhou:" mysqli_connect_error ().);
}

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

if (mysqli_multi_query ($ conn, $ sql)) {
echo "O novo registro é inserido com sucesso";
} Else {
. Eco "Erro:" $ sql "<br>" mysqli_error ($ conn); ..
}

mysqli_close ($ conn);
?>


Exemplos de (DOP)

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

try {
$ Conn = new PDO ( "mysql: host = $ servername; dbname = $ dbname", $ username, $ password);
// Definir o modo de erro PDO a exceção
$ Conn-> setAttribute (PDO :: ATTR_ERRMODE, PDO :: ERRMODE_EXCEPTION);

// Iniciar transação
$ Conn-> beginTransaction ();
// Instrução SQL
$ Conn-> exec ( "INSERT INTO MyGuests (nome, sobrenome, e-mail)
VALUES ( 'John', 'Doe', '[email protected]') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nome, sobrenome, e-mail)
VALUES ( 'Mary', 'Moe', '[email protected]') ");
$ Conn-> exec ( "INSERT INTO MyGuests (nome, sobrenome, e-mail)
VALORES ( 'Julie', 'Dooley', '[email protected]') ");

// Confirmar a transação
$ Conn-> commit ();
echo "O novo registro é inserido com sucesso";
}
catch (PDOException $ e)
{
// Se a reversão falhar
$ Conn-> rollback ();
.. Eco $ sql "<br>" $ e-> getMessage ();
}

$ Conn = null;
?>



Use declarações preparadas

extensão mysqli fornece uma segunda forma de inserir declarações.

Nós preparamos declarações e parâmetros vinculados.

extensão mysql pode transmitir dados sem uma declaração ou consulta ao banco de dados mysql. Você pode associar ou "ligar" variáveis ​​para as colunas.

Exemplos (MySQLi usando instruções preparadas)

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

// Criar uma ligação
$ Conn = new mysqli ($ servername, $ username, $ password, $ dbname);
// Teste de conexão
if ($ conn-> connect_error) {
Die ( "A ligação falhou:" $ conn-> connect_error.);
} Else {
$ Sql ​​= "INSERT INTO MyGuests VALUES (,, ???)";

// Para mysqli_stmt_prepare () objetos instrução de inicialização
$ Stmt = mysqli_stmt_init ($ conn);

// Declaração Preparado
if (mysqli_stmt_prepare ($ stmt, $ sql)) {
// parâmetros Bind
mysqli_stmt_bind_param ($ stmt, "sss ', $ firstname, $ sobrenome, $ email);

// Definir parâmetros e executar
$ Nome = 'John';
$ Lastname = 'Doe';
$ Mail = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Nome = "Maria";
$ Sobrenome = 'Moe';
$ Mail = '[email protected]';
mysqli_stmt_execute ($ stmt);

$ Nome = 'Julie';
$ Sobrenome = 'Dooley';
$ Mail = '[email protected]';
mysqli_stmt_execute ($ stmt);
}
}
?>

Podemos ver no exemplo acima, usando um sistema modular de lidar com o problema. Podemos criar um bloco de código para leitura e gerenciamento mais fácil.

Nota parâmetros vinculados. Vejamos mysqli_stmt_bind_param () Código:

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

Os argumentos da ligação a uma consulta e passar parâmetros para o banco de dados. O segundo parâmetro é "sss". A lista a seguir mostra o tipo do parâmetro. s personagem diz argumento mysql é uma string.

Pode ser os quatro parâmetros a seguir:

  • I - inteiro
  • d - dupla precisão número de ponto flutuante
  • s - a string
  • b - um valor booleano

Cada tipo de parâmetro deve ser especificado para garantir a segurança dos dados. Por tipo de julgamento pode reduzir o risco de vulnerabilidade de injeção SQL.