sql >> Databasteknik >  >> RDS >> Mysql

PDO med INSERT INTO genom upprättade utlåtanden

Du borde använda det som så

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

Förberedda uttalanden används för att rensa din inmatning, och för att göra det kan du använda :foo utan några enstaka citattecken inom SQL för att binda variabler och sedan i execute() funktion du skickar i en associativ array av variablerna du definierade i SQL-satsen.

Du kan också använda ? istället för :foo och skicka sedan in en array av bara de värden som ska matas in som så;

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

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

Båda sätten har sina fördelar och nackdelar. Jag personligen föredrar att binda parameternamnen eftersom det är lättare för mig att läsa.



  1. Hur får man Insert id i MSSQL i PHP?

  2. SCD typ 4

  3. Kan vi uppdatera primärnyckelvärden för en tabell?

  4. Oracle DBA realtidsfrågor