Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727

    MYSQL: trasformare in variabile un WHERE

    bah mi sono spiegato proprio male....
    avrei bisogno che il classico WHERE di una select fosse una variabile, ossia racchiudesse in sè tutta una serie di richieste
    sono un cavernicolo del PHP e non so se è una bestialità
    ma avrei bisogno che qualcuno più erudito di me mi dicesse se una roba come quella qua sotto ha senso o è una vacccata---->

    <?php
    if ($scelta=="uno")
    $order="anno like '2008' and classe like 'prima' and sezione like 'a'";
    else if ($scelta=="due")
    $order="anno like '2007' and classe like 'seconda' and sezione like 'b'";
    $result=mysql_query("select * from tabella where $order;");
    $num_rows=mysql_num_rows($result);
    ?>

  2. #2
    A parte il fatto che al posto di quei 'like' vedrei piu' degli '=', direi che e' corretto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    e invece no
    se lo lascio così non appare nulla
    se metto
    where '$order';");
    mi restituisce errore
    se tolgo il
    where $order
    appare tutto bene

  4. #4
    Utente di HTML.it L'avatar di mariox
    Registrato dal
    Nov 2006
    Messaggi
    837
    devi togliere il ; all'interno della query:

    where '$order' ");

  5. #5
    Utente di HTML.it
    Registrato dal
    Jul 2000
    Messaggi
    727
    macchè
    se tolgo ; e metto ' '
    mi dice:
    Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource

    se tolgo ' ' non appare nulla

    se tolgo il
    where $order
    appare tutto bene

    ahhhhhhhhhhhhhhhhhhh

  6. #6
    Se non appare nulla significa che la query non da' risultati, oppure che contiene errori.

    Cambia la riga della query in:

    Codice PHP:
    $result=mysql_query("select * from tabella where $order") or die(mysql_error()); 
    cosi' vedi se ci sono errori. Se non ci sono errori e comunque non ti ritorna niente, devi rivedere un po' la tua tabella.

    Ovviamente il tutto presuppone che $order sia settata, cioe' che $scelta sia "uno" o "due". Se $scelta non contiene una di queste stringhe, $order rimane vuota e la query fallisce per syntax error.

  7. #7
    Oltre al DIE con la segnalazione dell'errore, ti consiglio anche di mandare in stampa la tua stringa SQL.

    Codice PHP:
    $sql "select * from tabella where $order";

    echo 
    $sql."
    "
    ;

    $result=mysql_query($sql) or die("Errore Numero: ".mysql_errno()." - Descrizione: ".mysql_error()); 
    Vedi qual è il tuo problema e poi posta, semmai.
    <ALCIO />
    Per cortesia: no PVT Tecnici
    ******* LINKS *******
    SRL
    MetalWave

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.