Visualizzazione dei risultati da 1 a 5 su 5

Discussione: problema php mysql

  1. #1

    problema php mysql

    ho fatto una form che manda dati a un file php che è questo:


    codice:
    <?
    
    $azienda= $HTTP_POST_VARS['azienda'];
    $oggetto= $HTTP_POST_VARS['oggetto'];
    $sl= $HTTP_POST_VARS['sl'];
    
    $db = mysql_connect("sql.mizkeystudio.it","mizkeyst*****", "mizk*****") or die ("Errore nella connessione al database");
    $sql="SELECT * FROM pubblicità WHERE azienda='".$azienda."' and oggetto='".$oggetto."' and sl='".$sl."'";
    $res = mysql_db_query ($sql, "mizkeyst*****");
    
    while ($array = mysql_fetch_array($res))
    {
    print "azienda: ".$array['azienda']." - ";
    print "oggetto: ".$array['oggetto']." - ";
    print "sl: ".$array['sl']."
    
    ";
    }
    
    
    
    
    
    mysql_close()
    ?>
    ma la cosa non mi funziona, come risposta viene fuori

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

    perchè? (scusate l'ignoranza, ho iniziato da pochi giorni col php)



    Comunque se stampo echo "$sql" mi restituisce la query giusta (che richiesta direttamente al db funziona)

    però non riesco a stampare i dati risultanti

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,923
    Allora. Alcuni consigli:
    1) Al posto di $HTTP_POST_VARS usa $_POST. Mi sa che stai studiando da un libro o da qualche tutorial un pò datato.
    2) Non usare mysql_db_query che è una funzione deprecata ma usa mysql_query.
    3) Il mysql_close lo puoi anche togliere. La chiusura avviene in automatico.
    4) Per avere informazioni in più circa il malfunzionamento di una query usa mysql_query($tuaQuery) or die(mysql_error() ).
    Avrai informazioni preziose.

  3. #3
    ok grazie!

    infatti ho risolto subito


    ora ho un altro problema: in pratica la form in questione è in realtà una pagina di ricerca; i valori di >select> della form (il tag html intendo) vengono anch'essi generati da una query al database; In pratica c'è la possibilità di scegliere tra tutti i valori inseriti nella tabella.

    Io vorrei però fare in modo che l'utente possa al limite non voler inserire tutti i valori nelle 3 select della form, ma magari lasciarne alcuni vuoti; al limite lasciando tutti i valori vuoti nella form la query diventerebbe "select * from pubblicità" che restituisce tutta la tabella

    Ho pensato (nella mia ignoranza, sto andando un po' a spanne) che potrei impostare un if per ogni where della select; Cioè se l'utente sceglie un valore che decido io (che corrisponde per lui a non ad una scelta nulla in quella select) allora la clausola where della select non viene prodotta;

    penso che così dovrei riuscire, unico problema è la sintassi per inserire un'istruzione in un'altra....

  4. #4
    l'if dove lo metto, prima o durante la select?

  5. #5
    ok son riuscito, funziona bene

    forse non è molto elegante, ma più di così con la preparazione che ho (10 giorni...) non riesco a fare.

    grazie a tutti!

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.