Mysql
 sql >> база данни >  >> RDS >> Mysql

PDO с INSERT INTO чрез подготвени оператори

Трябва да го използвате така

<?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',
]);

Подготвените оператори се използват за дезинфекция на въведените ви данни и за да направите това, можете да използвате :foo без всички единични кавички в SQL за свързване променливи, а след това в execute() функция, която предавате в асоциативен масив от променливите, които сте дефинирали в SQL израза.

Можете също да използвате ? вместо :foo и след това предайте масив само от стойности за въвеждане по този начин;

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

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

И двата начина имат своите предимства и недостатъци. Аз лично предпочитам да свързвам имената на параметрите, тъй като ми е по-лесно за четене.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е кардиналност в MySQL?

  2. MySQL SELECT DISTINCT множество колони

  3. Симулирайте функцията на забавяне в MySQL

  4. Как да вмъкна в същата таблица в MySQL?

  5. Функция MySQL ROUND() – Закръгляйте число до даден брой десетични знаци