Visualizzazione risultati 1 fino 13 di 13

Discussione: Variabile SQL VARCHAR

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

    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
    22,683

    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
    15

    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
    22,683

    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
    15

    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
    22,683

    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
    15

    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
    22,683

    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
    15

    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
    22,683

    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
    15

    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
    22,683

    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
    15

    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
  •