Visualizzazione dei risultati da 1 a 9 su 9

Discussione: problema con WHERE

  1. #1

    problema con WHERE

    scrivo questo e tutto ok... lo script mi funziona
    Codice PHP:
    $sql="SELECT * FROM ".$tabella
    ma se ci aggiungo il WHERE:
    Codice PHP:
    $sql="SELECT * FROM ".$tabella." WHERE 'Mittente' = ".$username
    mi da questo errore:
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in

    lo script in questione è questo:
    Codice PHP:
    include("include/config.php");
    $tabella="personal_message";

    if (isset(
    $_GET["act"])and $_GET["act"]=="read_pm" and $_POST["username"]){
       
    $username=$_POST["username"];
       
    $db_connect=mysql_connect($host,$user,$pass) or die (mysql_error());
       
    $sql="SELECT * FROM ".$tabella." WHERE 'Mittente' = ".$username;
       
    $result=mysql_db_query($db,$sql,$db_connect);
       while (
    $row=mysql_fetch_array($result)) {
          echo 
    "A: ".$row["Mittente"]." da: ".$row["Destinatario"]." all'ora: ".$row["data_ora"]."
    Oggetto:"
    .$row["Oggetto"]."
    Messaggio:
    "
    .$row["Messaggio"];
       }
       
    mysql_close();
    }
    else {
       include(
    "index2.php");
    }
    ?> 
    dove diamine sta l'errore? :master:
    uh? eh ? cosa?

  2. #2
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Quell'errore significa che il risultato di quella query non è in forma valida. Di conseguenza il problema è nella query. Inserisci un print di debug dopo la definizione della variabile $sql e metti le virgolette alla variabile $username:

    Codice PHP:
       $sql="SELECT * FROM ".$tabella." WHERE 'Mittente' = '".$username."'";
       print(
    $sql);
       
    $result=mysql_db_query($db,$sql,$db_connect); 



  3. #3
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    I nomi dei campi non vanno delimitati con gli apici, quindi toglili attorno a mittente se vuoi che la query ti restituisca qualcosa. Inoltre la funzione mysql_db_query è oramai sconsigliata come riportato dal manuale. usa mysql_query.

  4. #4
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Originariamente inviato da nicola75ss
    I nomi dei campi non vanno delimitati con gli apici, quindi toglili attorno a mittente se vuoi che la query ti restituisca qualcosa. Inoltre la funzione mysql_db_query è oramai sconsigliata come riportato dal manuale. usa mysql_query.
    Si verissimo (non me n'ero accorto ):

    Codice PHP:
    $sql="SELECT * FROM ".$tabella." WHERE Mittente = '".$username."'";
       print(
    $sql);
       
    $result=mysql_query($sql); 


  5. #5
    nn mi da più quell'errore... ma nn mi stampa nemmeno il contenuto del db...
    vedo solamente la scritta SELECT * FROM personal_message WHERE 'Mittente' = 'Frankenstein'




    uh? eh ? cosa?

  6. #6
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Ovviamente le 3 righe che ho scritto le devi sostituire alle relative 3 righe del tuo codice. Non devi sostituirle a TUTTO il tuo codice

  7. #7
    Codice PHP:
    include("include/config.php");
    $tabella="personal_message";

    if (isset(
    $_GET["act"])and $_GET["act"]=="read_pm" and $_POST["username"]){
       
    $username=$_POST["username"];
       
    $db_connect=mysql_connect($host,$user,$pass) or die (mysql_error());
       
    $sql="SELECT * FROM ".$tabella." WHERE Mittente = '".$username."'";
       print(
    $sql);  
       
    $result=mysql_db_query($db,$sql,$db_connect);
       while (
    $row=mysql_fetch_array($result)) {
          echo 
    "A: ".$row["Mittente"]." da: ".$row["Destinatario"]." all'ora: ".$row["data_ora"]."
    Oggetto:"
    .$row["Oggetto"]."
    Messaggio:
    "
    .$row["Messaggio"];
       }
       
    mysql_close();
    }
    else {
       echo 
    "<form action=\"read_pm.php?act=read_pm\" method=\"post\"><input type=\"text\" name=\"username\"> <input type=\"submit\" value=\"Invia\"></form>";

    io ho corretto cosi ma continua a nn funzionare... probabilmente ho anke sbagliato a sostituire -.-
    uh? eh ? cosa?

  8. #8
    Utente di HTML.it L'avatar di Il_Drugo
    Registrato dal
    May 2006
    Messaggi
    1,220
    Codice PHP:
    include("include/config.php");
    $tabella="personal_message";

    if (isset(
    $_GET["act"])and $_GET["act"]=="read_pm" and $_POST["username"]){
       
    $username=$_POST["username"];
       
    $db_connect=mysql_connect($host,$user,$pass) or die (mysql_error());
       
    mysql_select_db($db$db_connection)
       
    $sql="SELECT * FROM ".$tabella." WHERE Mittente = '".$username."'";
       
    $result=mysql_query($sql);
       while (
    $row=mysql_fetch_array($result)) {
          echo 
    "A: ".$row["Mittente"]." da: ".$row["Destinatario"]." all'ora: ".$row["data_ora"]."
    Oggetto:"
    .$row["Oggetto"]."
    Messaggio:
    "
    .$row["Messaggio"];
       }
       
    mysql_close();
    }
    else {
       echo 
    "<form action=\"read_pm.php?act=read_pm\" method=\"post\"><input type=\"text\" name=\"username\"> <input type=\"submit\" value=\"Invia\"></form>";

    prova cosi


  9. #9
    Notice: Undefined variable: db_connection in c:\programmi\easyphp1-8\www\forum_mio\read_pm.php on line 15

    Warning: mysql_select_db(): supplied argument is not a valid MySQL-Link resource in c:\programmi\easyphp1-8\www\forum_mio\read_pm.php on line 15

    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in c:\programmi\easyphp1-8\www\forum_mio\read_pm.php on line 18


    mamma mia quanti errori
    PS:mancava un ; nella riga 16
    uh? eh ? cosa?

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.