Visualizzazione risultati 1 fino 13 di 13

Discussione: Variabile SQL VARCHAR

  1. #1
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito Variabile SQL VARCHAR

    Buonasera,
    Sono ai primi passi del PHP e sto realizzando un progettino per un mio sito meteo.
    Ho un database con dei campi VARCHAR e non riesco a far si che la mia variabile funzioni correttamente andando a scrivere un dato VARCHAR nel link.
    Cosa sto sbagliando? Penso di star sbagliando la sintassi.
    Codice:
      <?php 
    
      if ($id_comune == 0)  {
       
      }
      else {
      $query4 = mysqli_query($link,"SELECT 3bmeteo FROM comuni WHERE ID_comune = $id_comune");
      $trebmeteo = mysqli_fetch_assoc($query4);
      $riga = "https://www.3bmeteo.com/meteo/";
      $riga .= $trebmeteo["trebmeteo"];
    
      echo "<a id='wdgt_5afc6fd60569824e2c8b4569' href='{$riga}'></a> ";
      }
    
    
    
    
     
    
    
    
    
        ?>
    Grazie

  2. #2
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Perch nella select si chiama "3bmeteo" e dopo la fetch usi "trebmeteo"? Non sono equivalenti.

    Ciao!

  3. #3
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    Grazie! Ho usato 3bmeteo perch il mio ide mi continuava a segnalarlo come un errore, mi conviene cambiarlp direttamente da PhpMyAdmin?

  4. #4
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Non ho detto di modificare $trebmeteo in $3bmeteo (immagino questo dava errore), ma $trebmeteo["trebmeteo"] in $trebmeteo["3bmeteo"].

    Ciao!

  5. #5
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    Ok, grazie! Adesso ho cambiato ma continua a non funzionare, potrebbere essere a causa che il campo del database VARCHAR e non INT?

  6. #6
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Prova a vedere con mysqli_error() se ricevi qualche errore. Se non c' alcun errore, prova da phpmyadmin ad eseguire quella query.

    Se invece di un int hai messo un varchar, i numeri verranno salvati come stringa ma non dovresti aver problemi (a parte l'occupazione in pi di spazio).

    Ciao!

  7. #7
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    Ciao! Forse non ho espresso bene il problema, potrebbe essere che l'errore sia dato dalle variabili che non sono impostate come delle stringhe ma come numeri INT?

  8. #8
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Ancora non ho capito cosa intendi. L'unica cosa che posso intuire che il campo nel database (come hai detto tu stesso) sia di tipo VARCHAR e non INT; comunque una cosa del tipo "12356" pu essere interpretata anche come stringa, se tra apici.

    Le variabili in PHP non hanno un tipo fisso, anche se da PHP7 possibile definirle "string", "int", "float" o "bool".

    Hai provato come ti ho suggerito nell'ultima risposta?

    Ciao!

  9. #9
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    Grazie! Allora ho provato e non mi restituisce alcun errore, provo a riformulare la domanda, una variabile associata ad un campo VARCHAR, deve essere "racchiusa" tra apici quando "nominata"?

  10. #10
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Citazione Originalmente inviato da meteoayas Visualizza messaggio
    una variabile associata ad un campo VARCHAR, deve essere "racchiusa" tra apici quando "nominata"?
    Cosa intendi per "nominata"? Comunque no.

    Puoi mostrare l'ultimo codice, anche con la mysqli_error()?

    Ciao!

  11. #11
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    Ok!
    Codice PHP:
    <?php 

      
    if ($id_comune == 0)  {
        
      }
      else {
      
    $query4 mysqli_query($link,"SELECT trebmeteo FROM comuni WHERE ID_comune = $id_comune");
      
    $trebmeteo mysqli_fetch_assoc($query4);
      
    $riga "https://www.3bmeteo.com/meteo/";
      
    $riga .= '{'$trebmeteo ["trebmeteo"]'}';
      
    string $mysqli->error;
    //  $riga .= "&mt=1&r=2&f=Arial";
      
    echo "<a id='wdgt_5afc6fd60569824e2c8b4569' href='{'$riga'}'></a> ";
      }



    echo 
    "<script type='text/javascript'>
      var wid='5afc6fd60569824e2c8b4569';
      (function() {
          var wdgt = document.createElement('script'); wdgt.type = 'text/javascript'; wdgt.async = true;
          wdgt.src = '//widget.3bmeteo.com/widget.js';
          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wdgt, s);
      })();
      </script>"
    ;




        
    ?>

  12. #12
    L'avatar di alemoppo
    alemoppo non  connesso Staff AV
    Data registrazione
    24-08-2008
    Residenza
    PU / BO
    Messaggi
    11,931

    Predefinito

    Provalo cos:
    Codice PHP:
    <?php 
      
    if ($id_comune == 0)  {
        
      }
      else {
      
    $query4 mysqli_query($link,"SELECT trebmeteo FROM comuni WHERE ID_comune = $id_comune");
      
      if(
    $query4 === FALSE)
          echo 
    mysqli_error($link);
      
      
    $trebmeteo mysqli_fetch_assoc($query4);
      
    $riga "https://www.3bmeteo.com/meteo/";
      
    $riga .= $trebmeteo ["trebmeteo"];
      
    //  $riga .= "&mt=1&r=2&f=Arial";
      
    echo "<a id='wdgt_5afc6fd60569824e2c8b4569' href='{'$riga'}'></a> ";
      }



    echo 
    "<script type='text/javascript'>
      var wid='5afc6fd60569824e2c8b4569';
      (function() {
          var wdgt = document.createElement('script'); wdgt.type = 'text/javascript'; wdgt.async = true;
          wdgt.src = '//widget.3bmeteo.com/widget.js';
          var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(wdgt, s);
      })();
      </script>"
    ;




        
    ?>
    Ipotizzo che prima ci sia la connessione al database con
    Codice:
    $link = mysqli_connect(...
    E che la colonna nel database si chiami "trebmeteo".

    Ciao!
    Ultima modifica di alemoppo : 18-05-2018 alle ore 16.56.59

  13. #13
    meteoayas non  connesso Neofita
    Data registrazione
    13-06-2016
    Messaggi
    12

    Predefinito

    S, ovviamente la connessione al database gi presente , ho provato questo codice, allora non mi appare alcun errore mysql, ma purtroppo continua a non funzionare: in poche parole la variabile $riga non viene stampata nel link. Nel mio progetto sono presenti altri widget meteo che utilizzano questo script ma con una variabile che uso campo INT che funzionano correttamente.

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •