Avatar billede aproxi Nybegynder
30. december 2005 - 20:35 Der er 7 kommentarer

syntax error

Hejsa... jeg har et problem med et script jeg har.

jeg får følgene fejl meddelelse:

You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE =' AND =''' at line 1

koden ser sådan her ud:
$raw = mysql_query("SELECT * FROM $this->table_name WHERE $this->table_username='$this->query_username' AND $this->table_password='$this->query_password'") or die(mysql_error());


hvor ligger fejlen? :)


og godt nytår!
Avatar billede jaw Nybegynder
30. december 2005 - 21:36 #1
Prøv:

$raw = mysql_query("SELECT * FROM ".$this->table_name." WHERE ".$this->table_username."='".$this->query_username."' AND ".$this->table_password."='$this->query_password."'") or die(mysql_error());

Og så kan du altid få den udskrevet så du kan se hvad den indeholder ved:
echo ("SELECT * FROM ".$this->table_name." WHERE ".$this->table_username."='".$this->query_username."' AND ".$this->table_password."='$this->query_password."'";
Avatar billede aproxi Nybegynder
30. december 2005 - 22:06 #2
nu får jeg Parse error: parse error, unexpected T_CONSTANT_ENCAPSED_STRING
Avatar billede jaw Nybegynder
30. december 2005 - 22:13 #3
Ja, sådan her:

$raw = mysql_query("SELECT * FROM ".$this->table_name." WHERE ".$this->table_username."='".$this->query_username."' AND ".$this->table_password."='".$this->query_password."'") or die(mysql_error());
Avatar billede aproxi Nybegynder
30. december 2005 - 23:00 #4
det hjælper ikke :(

får stadig You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE ='' AND =''' at line 1
Avatar billede jaw Nybegynder
30. december 2005 - 23:01 #5
Ja, også netop derfor, at jeg smed echo-delen på, for de variabler du bruger har intet indhold !
Avatar billede aproxi Nybegynder
31. december 2005 - 00:03 #6
her er variablerne... følgene kode indeholder dem, sorry


  if ($_GET['login']) {

    include('login.php');
   
    /* VARS */
    $mysql_database        = "test";            // mysql database
    $mysql_hostname        = "localhost";            // mysql hostname
    $mysql_username        = "test";                // mysql username
    $mysql_password        = "test";                    // mysql password

    $table_name            = "login";                // your login table name (login)
    $table_username        = "username";            // table field w/ usernames
    $table_password        = "password";            // table field w/ passwords
   
    $query_username     = $_POST['username'];    // query username
    $query_password     = $_POST['password'];    // query password

    $redirect_accepted    = "test.php";        // redirects to this if login is succesful
    $redirect_denied    = "test2.php";            // redirects to this if login has been denied
   
    /* create class */
    $a = new login($mysql_database,$mysql_hostname,$mysql_username,$mysql_password,$query_username,$query_password,$table_name,$table_username,$table_password,$redirect_accepted,$redirect_denied);
   
    $a->login_mysql();
    $a->login_check();
   
    }


og her medfølger min class

class login {

    /* construct */
    function __construct($my_database,$my_host,$my_username,$my_password,$query_username,$query_password,$table_name,$table_username,$table_password,$redirect_accept,$redirect_denied) {
       
        $this->my_database         = $my_database;
        $this->my_host             = $my_host;
        $this->my_username        = $my_username;
        $this->my_password        = $my_password;
       
        $this->query_username     = $query_username;
        $this->query_password    = $query_password;
       
        $this->table_name        = $table_name;
        $this->table_username    = $table_username;
        $this->table_password    = $table_password;   
       
        $this->redirect_accept    = $redirect_accept;
        $this->redirect_denied    = $redirect_denied;
        }
       
    /* mysql function */
    function login_mysql() {
   
        mysql_connect($this->my_host,$this->my_username,$this->my_password);
        mysql_select_db($this->my_database);
       
        }
   
    /* login function */
    function login_check() {
       
    $raw = mysql_query("SELECT * FROM ".$this->table_name." WHERE ".$this->table_username."='".$this->query_username."' AND ".$this->table_password."='".$this->query_password."'") or die(mysql_error());
        $check = mysql_fetch_row($raw);
   
        session_start();
       
        if ($check[0] != "") {
            $_SESSION['loggedin'] = 1;
            if ($this->redirect_accept) header("Location: $this->redirect_accept");
            }
        else {
            $_SESSION['loggedin'] = 0;
            if ($this->redirect_denied) header("Location: $this->redirect_denied");
            }        
       
        }
   
    }
Avatar billede jaw Nybegynder
31. december 2005 - 01:01 #7
Umiddelbart kan jeg ikke se nogen fejl, men de er altså tomme... Måske det kan stamme helt tilbage til, at $_POST['password'] er tom?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester