Mysql
 sql >> Baza danych >  >> RDS >> Mysql

PDO z INSERT INTO poprzez przygotowane zestawienia

Powinieneś go tak używać

<?php
$dbhost = 'localhost';
$dbname = 'pdo';
$dbusername = 'root';
$dbpassword = '845625';

$link = new PDO("mysql:host=$dbhost;dbname=$dbname", $dbusername, $dbpassword);

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (:fname, :sname, :age)');

$statement->execute([
    'fname' => 'Bob',
    'sname' => 'Desaunois',
    'age' => '18',
]);

Przygotowane instrukcje są używane do oczyszczania danych wejściowych, a w tym celu możesz użyć :foo bez dowolne pojedyncze cudzysłowy w SQL do powiązania zmienne, a następnie w execute() funkcja, którą przekazujesz w tablicy asocjacyjnej zmiennych zdefiniowanych w instrukcji SQL.

Możesz także użyć ? zamiast :foo a następnie przekaż tablicę samych wartości do wprowadzenia w ten sposób;

$statement = $link->prepare('INSERT INTO testtable (name, lastname, age)
    VALUES (?, ?, ?)');

$statement->execute(['Bob', 'Desaunois', '18']);

Oba sposoby mają swoje zalety i wady. Osobiście wolę powiązać nazwy parametrów, ponieważ jest mi łatwiej je czytać.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Architektura dla bezpieczeństwa:przewodnik po MySQL

  2. Wprowadzenie do grupowania i sumowania SQL

  3. Jak znaleźć różnicę między dwiema datami w MySQL?

  4. DOŁĄCZENIE do MySQL czy UŻYWANIE?

  5. Jak zainicjować bazę danych MySQL ze schematem w kontenerze Docker?