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

    confronto php con varchar e stringhe

    salve a tutti.
    ho un problema..
    ho creato un piccolo programmino in php..
    ho creato un database con 2 tabelle.. con dentro dei campi varchar..
    ora.. il problema..
    tutto il sistema funziona se inserisco come codice (che è anche un campo delle tabelle) un numero.. se invece inserisco un qualsiasi carattere non funziona più...
    il problema si ha quando una volta inserito il "codice" dentro un form si carica la pagina php che dovrebbe fare dei controlli su questo "codice"..
    se il codice è numerico, i controlli funzionano come dovrebbero..
    se invece inserisco un carattere o più, i controlli non funzionano più..
    ho provato anche a mettere tutto maiuscolo o minuscolo..
    a inserire a mano i dati dentro la tabella e facendo un copia incolla a inserirli nel form.. ma non funziona...
    c'è qualcosa che non so su come si fanno gli if in php?
    posto un pezzo del form...
    codice:
    <form method=post action="controllocodice.php">
    Codice:<input size="16" name="codicenew" type="text">
    <input type=submit value=Invia>
    </form>
    e un pezzo del codice che dovrebbe fare il confronto
    codice:
    $codicenew=strtoupper($codicenew);
    $sql="SELECT * from $table1 where codice = $codicenew";
    $result=mysql_query($sql, $db);
    $data=mysql_fetch_row($result);
    
    if ($data[0]==$codicenew){
    $sql="select * from $table2 where codice = $codicenew and controllo = 'i'";
    $result=mysql_query($sql, $db);
    $data=mysql_fetch_row($result);
    ripeto che così il sistema funziona in maniera perfetta con i numeri.. ma non con i caratteri...

    tra le altre cose il sistema registra correttamente nel database i dati inseriti.. poi non riesce a confrontarli.. ma a leggerli ci riesce perfettamente... quindi i problema non è nel codice sql ma nel codice php...


    grazie.
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

  2. #2
    Utente di HTML.it
    Registrato dal
    Feb 2006
    Messaggi
    121
    sostituisci
    $sql="SELECT * from $table1 where codice = $codicenew";

    con
    $sql="SELECT * from $table1 where codice = '".$codicenew."'";

    anche in sql le stringhe devono essere racchiuse tra apici, quindi se non metti apici intorno a $codicenew questa query funzionerà solo nel caso in cui $codicenew abbia un valore numerico.

    p.s:Stessa cosa anche per le altre query..

  3. #3
    ok ci provo..

    infinite grazie x l'aiuto, ora funziona tutto come dovrebbe.

    grazie e a buon rendere, se posso...
    Lunga Vita e prosperità!
    Foto e video di Adriana Lima-->http://www.nasosan.it

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.