Visualizzazione risultati 1 fino 4 di 4

Discussione: Errore con stringhe

  1. #1
    Guest

    Predefinito Errore con stringhe

    Salve, questo è il mio codice ed il suo scopo è quello di effettuare una ricerca avanzata nel db. IL problema è he mi crive Errore! (il mesaggio contenuto nell' or die). Dove sbaglio?

    Codice PHP:
    $term = $_POST['term'];
    $tipo = $_POST['tipo'];
    $costruttore = $_POST['costruttore'];
    $posseduto = $_POST['posseduto'];
    $manuale = $_POST['manuale'];
    $scatola = $_POST['scatola'];
    $digitale = $_POST['digitale']; //setto tutte le variabili del form compilato
    $query = "SELECT * FROM giochi WHERE"; //eseguo la query base
    if ($_POST['term'] != "") $query .= " nome LIKE '%$term%' OR `testo` LIKE '%$term%',";
    if (
    $_POST['tipo'] != "") $query .= " tipo = '$tipo',";
    if (
    $_POST['costruttore'] != "") $query .= " costruttore = '$costruttore',";
    if (
    $_POST['posseduto'] != "") $query .= " posseduto = '$posseduto',";
    if (
    $_POST['manuale'] != "") $query .= " manuale = '$manuale',";
    if (
    $_POST['scatola'] != "") $query .= " scatola = '$scatola',";
    if (
    $_POST['digitale'] != "") $query .= " digitale = '$digitale',";
    $length = strlen($query) - 1;
    $query = substr($query, 0, $length); //elimina la virgola in più alla fine
    $query .= " ORDER BY id DESC";
    $result = mysql_query($query) or die ("Errore!");
    while (
    $row = mysql_fetch_array($result)){
    echo
    $row['nome'];
    }
    Ultima modifica di XxxJoKeRsxxX : 29-06-2010 alle ore 00.04.14

  2. #2
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Ti viene dato errore perché stai legando tra loro le singole condizioni usando le virgole, mentre la sintassi di SQL prevede solo l'uso degli operatori logici AND e OR.

    Sostituisci ogni virgola con quello più adeguato (AND = devono verificarsi tutte le condizioni, OR = se ne può verificare una sola) e magari aggiungendo qualche parentesi: così hai risolto il problema...

    Stammi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  3. #3
    Guest

    Predefinito

    Ok! Grazie mille!

  4. #4
    Guest

    Predefinito

    tra l'altro tu hai messo:
    $lenght = strlen($mail_to)-1;

    ma $mail_to non è definita, perciò l'errore potrebbe essere anche queso in quanto, 0 (che è la lunghezza di una stringa vuota) - 1 = -1 tu poi estrai la parte della variabile $query che va dal carattere 0 al carattere -1 che quindi risulta vuota

Regole di scrittura

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