Problème avec "prepared statements"

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Problème avec "prepared statements"

    Je commence à remplacer mes requêtes MySQL par les "prepared statements" que Joomla! utilise maintenant mais j'ai un souci avec une requête de mise à jour :
    J'ai remplacé :
    Code:
    $query->update('#__customers')
    ->set('numClient = ' . $db->quote($numClient))
    ->where('customers_id = ' . $customerId);
    par :
    Code:
    $query->update($db->quoteName('#__customers'))
    ->set($db->quoteName('numClient') . ' = :numclient')
    ->where($db->quoteName('customers_id') . ' = :customerid')
    ->bind([':numclient', ':customerid'], [$numClient, $customerId], [ParameterType::STRING, ParameterType::INTEGER]);
    La requête "classique" fonctionne mais pas la seconde. Pourtant, je ne vois pas d'erreur ...​​
    Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
    Administrateur certifié Joomla! 3
    https://www.betterweb.fr

  • #2
    Je me réponds à moi-même au cas où certains seraient confrontés au même problème. Il faut en fait séparer les déclarations "bind".
    Le code est donc le suivant :
    Code:
    $query->update($db->quoteName('#__customers'))
    ->set($db->quoteName('numClient') . ' = :numclient')
    ->where($db->quoteName('customers_id') . ' = :customerid')
    ->bind(':numclient', $numClient, ParameterType::STRING)
    ->bind( ':customerid', $customerId, ParameterType::INTEGER);
    infograf768 et herve aiment ceci.
    Tous les services pour les sites Joomla! : sécurité, nettoyage de sites piratés, hébergement, SEO, applications Fabrik, migration, compatibilité mobiles, accessibilité, ...
    Administrateur certifié Joomla! 3
    https://www.betterweb.fr

    Commentaire

    Annonce

    Réduire
    Aucune annonce pour le moment.

    Partenaire de l'association

    Réduire

    Hébergeur Web PlanetHoster
    Travaille ...
    X