Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 19
  1. #1

    JOIN che non funziona[PHP/SQL]

    Buon pomeriggio,aiutatemi cortesemente nel risolvere il problema che vi elenco di seguito:
    Ho un Db access nel quale ho 2 tabelle DatiCLiente e LoginCliente,
    sono relazionate per id_DatiCliente.
    Non capisco perchè usando JSP e SQLSERVER2000,la JOIN mi funziona e qui no....questa è la query:

    $verificaLogin=$_POST[login];

    $query="SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCli ente
    FROM DatiCliente JOIN LoginCliente ON (DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente)
    where DatiCliente.login ='$verificaLogin'";
    l'errore che mi da è il seguente:
    1°)Warning: Invoke() failed: Eccezione. Source: Microsoft JET Database Engine Description: Errore di sintassi nella proposizione FROM.
    2°)Warning: SQL error: [Microsoft][Driver ODBC Microsoft Access] Errore di sintassi nella proposizione FROM., SQL state 37000
    3°)Warning: odbc_fetch_row(): supplied argument is not a valid ODBC result resource

    Mi aiutate per favore?
    Grazie a tutti

  2. #2
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    boh... hai provato cosi??

    $query="SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCli ente
    FROM (DatiCliente JOIN LoginCliente ON DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente)
    where DatiCliente.login ='$verificaLogin'";

  3. #3
    Utente di HTML.it L'avatar di _kime_
    Registrato dal
    Sep 2003
    Messaggi
    311
    Codice PHP:
    $verificaLogin=$_POST[login]; 

    $query "SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCliente 
    FROM DatiCliente JOIN LoginCliente ON DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente 
    WHERE DatiCliente.login ='
    $verificaLogin'"
    togliendo le parentesi !?
    + / Powered by Ubuntu 4.10 "The Warty Warthog"

    + / Manuale PHP.net

    + / Think Free

  4. #4
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    mah... senza parentesi non credo... a me funzione con le parentesi spostate... mahhh

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2004
    Messaggi
    577
    Avete provato ad usare LEFT JOIN invece che soltanto "JOIN" ...

    Lucia

  6. #6
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    Avete provato ad usare LEFT JOIN invece che soltanto "JOIN" ...
    è vero... prova con LEFT JOIN

  7. #7
    Utente di HTML.it L'avatar di kodode
    Registrato dal
    Sep 2002
    Messaggi
    1,896
    quindi:
    $query="SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCli ente
    FROM (DatiCliente LEFT JOIN LoginCliente ON DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente)
    where DatiCliente.login ='$verificaLogin'

  8. #8
    funziona fino ad un certo punto,nel senso che poi mi da questo errore:
    Warning: Field login not found in c:\phpdev\www\public\carrelloacquistiphp_access\ve rificacliente.php on line 38
    e la linea 38 è questa:
    $nome_db = odbc_result($Risultato,"login");
    "login" fa riferimento questo:$verificaLogin=$POST_[login];

    adesso vi posto il codice :
    $query="SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCli ente
    FROM (DatiCliente LEFT JOIN LoginCliente ON DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente)
    where DatiCliente.login ='$verificaLogin'";

    $Risultato = odbc_exec($db, $query);
    while (odbc_fetch_row($Risultato)) {
    // qui confronta la stringa passata per ogni riga presente
    // nel campo nome della tabella interessata
    $nome_db = odbc_result($Risultato,"login");

    if ((strcmp($verificaLogin, $nome_db)) == 0) {
    // se trova qualcosa setta la variabile a true
    $esiste_utente = true;

    }
    }
    Non capisco perchè mi da quell'errore..
    Grazie per gli aiuti

  9. #9
    allora ho fatto un paio di prove la prima con una semplice select in una tabella non relazionata tbLogPsw:
    $query="select distinct login from tbLogPsw where login='$verificaLogin'";
    nella tbLogPsw ho solo due campi "login","password"
    e non mi da nessun errore..

    invece con le tabelle DatiCliente e LoginCliente relazionate per id_DatiCliente con la JOIN:
    $query="SELECT DatiCliente.id_DatiCliente,LoginCliente.id_DatiCli ente
    FROM (DatiCliente LEFT JOIN LoginCliente ON DatiCliente.id_DatiCliente = LoginCliente.id_DatiCliente)
    where DatiCliente.login ='$verificaLogin'";
    mi da questo errore:
    Warning: Field login not found in c:\phpdev\www\public\carrelloacquistiphp
    _access\verificacliente.php on line 38

    derivato da qui:"login"//campo login
    $nome_db = odbc_result($Risultato,"login");

    Ho capito che, non riesce a trovare il campo "login".
    Forse perchè non sa in quale tabella deve cercarlo?
    Nel senso che avendo preso in considerazione,tramite la JOIN,le due tabelle DatiCliente e LoginCliente va in confuzione con la ricerca?
    Nella tabella LoginCliente,comunque non il campo login,in quanto sono relazionate per id_DatiCliente..

    Non so che fare... mi aiutate per favore?Altrimenti non riesco ad andare avanti...
    Grazie a tutti....

  10. #10
    nessuno che sappia qualcosa?Mi sto scervellando da sta mattina...
    :master:

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.