Visualizzazione dei risultati da 1 a 7 su 7

Discussione: errore con mysql e php

  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46

    errore con mysql e php

    Salve a tutti. Ho un problema con una semplice query... posto il codice:

    codice:
    <?php 
        include "funzioni_mysql.php"; 
        $username=$_POST["user"]; 
        $email1=$_POST["mail1"]; 
        $email2=$_POST["mail2"]; 
        $password1=$_POST["pass1"]; 
        $password2=$_POST["pass2"]; 
        $flag=$_POST["flag"]; 
        
        $tabella="login"; 
        $valori=array($email1,$username,sha1($password1)); 
        $campi="email,user,pass"; 
        $data = new MysqlClass(); //istanza dell'oggetto mysql 
        $data->connetti(); //connessione al database 
        if($data->query("SELECT email FROM '$tabella' WHERE email='$email1'")==1) //controllo se nel DB esiste già la mail di registrazione { 
            echo "email esistente!"; 
            } 
            else { 
                echo "email inesistente"; 
                $data->inserisci($tabella,$valori,$campi); 
            } 
            // disconnessione 
            $data->disconnetti(); 
    ?>
    la funzione "query" è questa:

    codice:
    public function query($sql) { 
        if(isset($this->attiva)) { 
            $sql = mysql_query($sql) or die (mysql_error()); 
            return $sql; 
        }
        else{ 
        return false; 
        } 
    }
    il problema è che quando invio la form, ricevo come risposta:
    Errore di sintassi nella query SQL vicino a ''login' WHERE email='nome@dominio.it'' linea 1

  2. #2
    FROM '$tabella'

    togli le apici. Non e' una stringa

    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    eh ecco... grazie!

  4. #4
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    ok, ho modificato qualcosa... posto il server.php. Per il resto non ho cambiato nient'altro.

    codice:
    <?php
            include "funzioni_mysql.php";
    
            $username=$_POST["user"];
            $email1=$_POST["mail1"];
            $email2=$_POST["mail2"];
            $password1=$_POST["pass1"];
            $password2=$_POST["pass2"];
            $flag=$_POST["flag"];
           
            $tabella="login";
            $valori=array($email1,$username,sha1($password1));
            $campi="email,user,pass";
    
            $data = new MysqlClass(); //istanza dell'oggetto mysql
            $data->connetti(); //connessione al database
            $query="SELECT email, user FROM $tabella WHERE email='$email1'" OR user='$username';
            $auth=$data->query($query);
            $res=$data->estrai($auth);
    
            $user=$res->user; // user è un'attributo della tabella login
            $email=$res->email; //email è un'attributo della tabella login
    
            echo ($user=="$username" || $email=="$email1");
            
            if($user=="$username" || $email=="$email1")
            {
                echo "Utente gia' registrato";
            }
            else
            {
                $data->inserisci($tabella,$valori,$campi);
                echo "Utente creato correttamente";
            }
    
            $data->disconnetti();
    ?>
    e l'errore è:
    "Trying to get property of non-object in C:\path\server.php". La riga di riferimento è quella relativa alle istruzioni in rosso.
    Lo scopo dello script è semplice. Compilo la form di registrazione, prelevo i valori relativi a user ed email dal database e li confronto con quelli inseriti nella form. Se trovo una email o uno user già esistenti, non faccio creare l'account, altrimenti sì. Di funzionare, funziona, solo che quando mi crea l'account mi da sti errori... sapete come risolvere? Grazie.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    nessuno che può aiutarmi?

  6. #6
    Questa riga è sbagliata
    Codice PHP:
            $query="SELECT email, user FROM $tabella WHERE email='$email1'" OR user='$username'
    Questa è corretta
    Codice PHP:
            $query="SELECT email, user FROM $tabella WHERE email='$email1' OR user='$username'"
    Programmatore e responsabile seo della testata giornalistica www.europacalcio.it - www.canforagennaro.it

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2010
    Messaggi
    46
    quello l'avevo già corretto. Il problema però sussiste. In pratica mi dice che sto tentando di ottenere proprietà da un oggetto che non esiste. Ma da quello che so io la funzione mysql_fetch_object dovrebbe ritornare un oggetto... quindi dovrebbe essere possibile per me accedere ai campi del db tramite proprio tale oggetto in questo modo:

    $user=$res->user; // user è un'attributo della tabella login
    $email=$res->email; //email è un'attributo della tabella login

    cosa che non accade perchè, a quanto pare, $res non è un oggetto...

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.