Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [MySql] Query non eseguita

    ho un problema un po strano, è un software scritto in php che utilizza PDO, esegue le query attraverso questo sistema
    codice:
    $dbh = PDOConnect::init();
    
                $sth = $dbh->prepare('UPDATE layout SET xml = :xml, modifieddt = NOW() WHERE layoutID = :layoutid');
                $sth->execute(array(
                        'layoutid' => $layoutid,
                        'xml' => $xml
                    ));
    sembra tutto normale ma la query non viene eseguita, l'id esiste nella tabella, la variabile $xml è popolata, ho provato anche a mettere un valore manualmente, ma nulla, la query non la esegue.
    Ho analizzato i log e nei log la query è presente, se eseguo quella query funziona regolarmente.
    I log di errore non ha nulla, su quella query.
    Quello che mi chiedo, è possibile che la query presente nei log di mysql non sia realmente stata eseguita? c'è modo di capire se è stata lanciata?

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    mi sembra che ci sia un errore di sintassi nella query, non puoi far seguire all'uguale i due punti, non so cosa intendi fare esattamente con questa query ma credo che dovresti mettere le virgolette nei valori da aggiornare:

    codice:
    UPDATE layout SET xml = ":xml", modifieddt = NOW() WHERE layoutID = ":layoutid";
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Quote Originariamente inviata da las Visualizza il messaggio
    mi sembra che ci sia un errore di sintassi nella query, non puoi far seguire all'uguale i due punti, non so cosa intendi fare esattamente con questa query ma credo che dovresti mettere le virgolette nei valori da aggiornare:

    codice:
    UPDATE layout SET xml = ":xml", modifieddt = NOW() WHERE layoutID = ":layoutid";
    la sintassi non è errata, quella struttura di codice fa parte di PDO, tale estensione di php si occupa poi di confertire il :xml con il relativo valore presente nell'array

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.