Visualizzazione dei risultati da 1 a 10 su 10

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245

    [MySQL] SQL STATE 42000 accesss violation 1064

    questa va :
    codice:
    $ent = "SELECT acc_id from acc WHERE acc_daid =".$cod;	 
         $rslt = $conn->query($ent); 
    	 foreach ($rslt as $row):
    	  $data = $row[0];
    	 endforeach;
      }
    catch(PDOException $e)
     {
          $error= "Error Accantonato: " . $e->getMessage();
         echo "<script type=\"text/javascript\">alert(\"".$error."\");</script>";
    	 exit();
      }
    questa genera errore
    codice:
    $ent = "SELECT acc_id from acc WHERE acc_daid =".$cod." and acc_lvl='".$liv."'";	 
         $rslt = $conn->query($ent); 
    	 foreach ($rslt as $row):
    	  $data = $row[0];
    	 endforeach;
      }
    catch(PDOException $e)
     {
          $error= "Error Accantonato: " . $e->getMessage();
         echo "<script type=\"text/javascript\">alert(\"".$error."\");</script>";
    	 exit();
      }
    dopo una lunga giornata a cercare di capire perchè alzo le mani.

    ps la query sparata diretta da MYSQL funziona in entrambi i casi
    ps il database è connesso
    ps la query è corretta con i parametri passati
    ps mistero della fede....

  2. #2
    acc_daid è numerico e acc_lvl è stringa?
    poi, fatti stampare $ent *dopo* averla formata e controlla / posta il contenuto

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245
    $ent è corretta....copiata dallo schermo e messa in SQL funziona perfettamente.
    acc_daid mediumint e acc_lvl smallint

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245
    SELECT acc_id from acc WHERE acc_daid =126 and acc_lvl=1

  5. #5
    e allora perché qui

    $ent ="SELECT acc_id from acc WHERE acc_daid =".$cod." and acc_lvl='".$liv."'";

    hai messo gli apici intorno a $liv ?


  6. #6

  7. #7
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245
    giusto....
    perchè in orgine era testo(1) poi ho capito che poteva dare problemi e l'ho convertito in smallint....
    ma continua a non funzionare.
    Se pero scrivo la select direttamente su Aruba funziona perfettamente.

  8. #8
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245
    altre informazioni per risolvere il caso.
    se nella tabella per un dato id ho solo 1 record referenziato (lvl=1) tutto funziona correttamente.
    se, invece, ci sono 2 record (lvl=1 e lvl=2) da applicazione la query non funziona producendo quell'errore mentre su aruba funziona lo stesso.
    Quindi c'è qualcosa a livello più alto che di semplice istruzioni.
    Cosa può determinare questa casistica?
    PS ho tolto tutti gli indici tranne il primario su ID che non viene coinvolto.
    Ultima modifica di delpho; 31-08-2016 a 13:03

  9. #9
    sei sicuro a questo punto che sia la query e non invece qualcosa di successivo all'interrogazione?

  10. #10
    Utente di HTML.it
    Registrato dal
    Jul 2016
    Messaggi
    245
    mah..non so cosa dirti, alla fine ho triplicato le tabelle, una per ogni stato, e faccio query parametrizzate .
    nn posso diventare scemo per sta cosa ci ho perso 1 giorno e mezzo.
    Grazie comunque per il tuo tempo.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.