sql >> Databáze >  >> RDS >> Mysql

Změna php skriptu na PDO způsobuje chybu syntaxe během dotazu na aktualizaci MySQL

Pokud se chystáte přejít na PDO, můžete také využít připravených příkazů a vazby parametrů. Ve skutečnosti to dělá vaše dotazy hodně bezpečnější před SQL injection a také činí váš kód čitelnějším. Váš nástroj pro tvorbu dotazů přístup to trochu komplikuje, ale stále je to možné. Velmi bych také doporučil povolit hlášení chyb během vývoje. Například

error_reporting(E_ALL);
ini_set('display_errors', 'On');

$upd = array('name = :name', 'type = :type');
$values = array(
    'name' => $name,
    'type' => $type,
    'ride_id' => $ride_id,
    'park_id' => $park_id
);

if (!empty($topride)) {
    $upd[] = 'top_ride = :topride'; // :topride is the named parameter placeholder
    $values['topride'] = $topride; // the array key matches the named placeholder above
}
if (!empty($info)) {
    $upd[] = 'info = :info';
    $values['info'] = $info;
}
// and so on

$query = sprintf('UPDATE tpf_rides SET %s WHERE ride_id = :ride_id AND park_id = :park_id',
    implode(', ', $upd));
$stmt = $pdo->prepare($query);
$stmt->execute($values);



  1. Vložte ID z jedné tabulky do druhé v MySQL php

  2. JSON_STORAGE_SIZE() – Najděte velikost úložiště dokumentu JSON v MySQL

  3. OracleParameter a klauzule IN

  4. Jak používat sql*plus v příkazovém skriptu Windows k řízení toku?