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

Промяна на php скрипт на PDO, причиняваща синтаксична грешка по време на заявка за актуализиране на MySQL

Ако възнамерявате да преминете към PDO, може също да се възползвате от подготвените изрази и свързването на параметри. Това всъщност прави вашите запитвания много по-безопасен от SQL инжектиране и също така прави кода ви по-четлив. Вашият конструктор на заявки подходът усложнява малко нещата, но все пак е възможно. Също така силно препоръчвам да активирате докладването за грешки по време на разработката. Например

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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Общо обхождане на дърво (безкрайно) по начин на търсене в широчината

  2. MySQL Комбинирайте стойности на редове със запетая и други

  3. Премахнете или отрежете първите или последните няколко знака в MySQL база данни с SQL

  4. Основи на външните ключове в MySQL?

  5. Правилно боравене с дълги данни в Hibernate