Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 21

Discussione: Salvare una query

  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55

    Salvare una query

    Ciao a tutti, ho questa query che non riesco a salvare nel DB tramite comandi PHP, sia che metta le varibili:
    Codice PHP:
    foreach($db->query($queryB) as $rowB){
        
    $bolla $vetA[$x][1];
        
    $cod_pro $rowB['cod_prodotto'];
        
    $desc $rowB['descrizione'];
        
    $qta_v $rowB['qta_venduta'];
        
    $pr_v $rowB['pr_vendita'];
        
    $sc_1 $rowB['sconto_1'];
        
    $sc_2 $rowB['sconto_2'];
        
    $sc_3 $rowB['sconto_3'];
        
    $id $rowB['id_tel_cor'];
        echo 
    $id." - ".$bolla." - ".$cod_pro." - ".$desc." - ".$qta_v." - ".$pr_v." - ".$sc_1." - ".$sc_2." - ".$sc_3."
    "
    ;

        
    $queryC $db->exec("INSERT INTO ".$anno."_ddt_corpo (num_bolla, cod_prodotto, descrizione, qta_venduta, pr_vendita, sconto_1, sconto_2, sconto_3) 
    VALUES 
    ('
    $bolla', '$cod_pro', '$desc', '$qta_v', '$pr_v', '$sc_1', '$sc_2', '$sc_3')");

    sia che inserisca i dati manualmente:
    Codice PHP:
    foreach($db->query($queryB) as $rowB){
        
    $bolla $vetA[$x][1];
        
    $cod_pro $rowB['cod_prodotto'];
        
    $desc $rowB['descrizione'];
        
    $qta_v $rowB['qta_venduta'];
        
    $pr_v $rowB['pr_vendita'];
        
    $sc_1 $rowB['sconto_1'];
        
    $sc_2 $rowB['sconto_2'];
        
    $sc_3 $rowB['sconto_3'];
        
    $id $rowB['id_tel_cor'];

        
    $queryC $db->exec("INSERT INTO ".$anno."_ddt_corpo (num_bolla, cod_prodotto, descrizione, qta_venduta, pr_vendita, sconto_1, sconto_2, sconto_3) 
    VALUES 
    ('00000000001', '00015172', 'XXXXXXXXXX', '8', '6.25', '8', '8', '0')"
    );

    Naturalmente tutti i dati sono assegnati, errori non riesco a vederne, eppure non riesco a salvare i dati nel DB. Se invece la porto con i valori su MySQLQuery o PHPMyAdmin riesco ad importarla tranquillamente, anzi:
    1) Azzero la tabella e importo la query con i dati tramite MySQLQuery, mi dà giustamente come id = 1
    2) Lancio la query con il ciclo foreach di 20 righe e non mi scrive niente nel DB
    3) Rilancio la query in MySQLQuery e come id mi dà giustamente 22

    Come mai mi occupa lo spazio nel DB e non mi scrive niente? Molto probabilmente è un errore di battitura, ma io a video riesco a vedere tutti i dati di tutte e 20 le righe. Un saluto e un grazie a chi mi saprà risolvere l'arcano, Roberto!!!

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    Ho provato anche così, ma niente!!!
    Codice PHP:
    $queryC $db->exec("
    INSERT INTO "
    .$anno."_ddt_corpo (num_bolla, cod_prodotto, descrizione, qta_venduta, pr_vendita, sconto_1, sconto_2, sconto_3) 
    VALUES 
    ('"
    .$vetA[$x][1]."', '".$rowB['cod_prodotto']."', '".$rowB['descrizione']."', '".$rowB['qta_venduta']."', '".$rowB['pr_vendita']."', '".$rowB['sconto_1']."', '".$rowB['sconto_2']."', '".$rowB['sconto_3']."')"); 
    Naturalmente nel programma la query è tutta su una riga!

  3. #3
    a me sembra che complichi le cose semplici..sarebbe meglio usando mysqli fare così:

    Codice PHP:
    $mysqli = new mysqli('localhost''user''password''database');
    if (
    $mysqli) {
      if (
    $result $mysqli->query($sql)) {
        while (
    $row $result->fecth_assoc())
          
    $rows[] = $row;
        
    $result->close();
      }
      
    $mysqli->close();
    }

    if (
    count($rows)) {
      foreach (
    $rows as $row) {
        
    $cod_pro $row['cod_prodotto']; 
        
    $desc $row['descrizione'];
        
    // ecc ecc
      
    }


  4. #4
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Pare che stai utilizzando pdo, quindi hai provato a gestire eventuali eccezioni tramite try-catch? Se esegui la query fuori dal ciclo ricavando solo una volta i parametri o inventandoteli funziona? $anno è settato correttamente?

  5. #5
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    Ciao Ro, si uso PDO e senz'altro $anno è settato. Come dici, fuori dal ciclo foreach non ho provato, ma come detto sopra se eseguo la query su myadmin funziona. Stasera proverò come dici e poi riscrivo. Grazie comunque per la risposta, Roberto!!!

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    @Emulmen Ho un mucchio di pagine che usano il PDO e non mi danno nessun problema. Ritornare al vecchio sistema vorrebbe dire dover riscrivere metà del codice e sinceramente non ne avrei voglia. i ringrazio comunque per l'interessamento, Roberto!!!

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    @ RoTeam. Ho provato fuori dal ciclo, ma non funziona lo stesso. Per quanto riguarda il try-catch, scusa, ma non sono esertissimo. Cosa sarebbe? Puoi passarmi dei link? Grazie!!!

  8. #8
    Utente di HTML.it
    Registrato dal
    May 2012
    Messaggi
    1,453
    Originariamente inviato da robiesse
    @ RoTeam. Ho provato fuori dal ciclo, ma non funziona lo stesso. Per quanto riguarda il try-catch, scusa, ma non sono esertissimo. Cosa sarebbe? Puoi passarmi dei link? Grazie!!!
    Dagli un'occhiata http://php.net/manual/en/class.pdoexception.php, anche inventando i valori non funziona?

  9. #9
    Utente di HTML.it
    Registrato dal
    Nov 2007
    Messaggi
    55
    E no, anche inserendo una query con dati inventati, non me la salva sul DB. Stasera a casa guarderò il link che mi hai passato e poi vedremo, ok? Ciao e grazie di nuovo, Roberto!!!

  10. #10
    visto che sei così umano ti posso dire che try...catch ricorda che con try esegui la query, catch viene eseguito se qualcosa va storto e viene sollevata in questo caso una eccezione di PDO che puoi esaminare coi suoi comandi e ti direi di dare una occhiata pure qua

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.