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

Zmiana skryptu php na PDO powodująca błąd składni podczas zapytania o aktualizację MySQL

Jeśli zamierzasz przełączyć się na PDO, równie dobrze możesz skorzystać z przygotowanych instrukcji i wiązania parametrów. To faktycznie sprawia, że ​​Twoje zapytania dużo bezpieczniejsze od wstrzyknięcia SQL, a także sprawia, że ​​Twój kod jest bardziej czytelny. Twój narzędzie do tworzenia zapytań podejście trochę komplikuje sprawy, ale nadal jest możliwe. Gorąco polecam również włączenie raportowania błędów podczas tworzenia. Na przykład

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. Szybkie zapytanie MySQL dopasowujące ciągi

  2. MySQL - Usuń domyślną wartość pola Datetime

  3. Przygotowane zestawienia MySQL PHP PDO - problemy z wydajnością a bezpieczeństwo

  4. Jak w MySQL zbudować indeks, aby przyspieszyć to zapytanie?

  5. Wiele instrukcji wstawiania w pojedynczym ODBC ExecuteNonQuery (C#)