Mysql error

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Mike vd Veer

Mike vd Veer

18/04/2008 22:16:00
Quote Anchor link
Hallo,

Ik ben een aanmeldingssysteem aan het maken, waarvan nu de activeer-je-account pagina komt. Maar ik heb een error op mn pad gevonden, die ik niet echt begrijp.

Er ging iets fout met de query: 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 ' ' at line 1

Dit is mijn code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
include('connect.php');

// eerst verwerken
if (empty($_GET['id']) == false && empty($_GET['accept']) == false)    {
    $sQuery = "UPDATE teams SET accepted = 3 WHERE id = " . $_GET['id'] . " AND
                                                                    accepted IS NULL"
;
       If (mysql_query($sQuery) == false)    {
        echo("Er ging iets fout met de query: ".mysql_error()."<br>");
       }
elseif(mysql_num_rows($sQuery) == 0){
       echo("Dit team heeft zijn/haar emailadres al geactiveerd. ");

    }
else{
        echo "Gelukt!!!!<br>";
    }
}

?>


Dit is lijn 60 t/m 76 (let alsjeblieft niet op hoe ik het script, ik ben namelijk een beginner). Ik begrijp dus niet wat er fout gaat. Dit is de pagina bevestigen.php?accept=true&id=1 voor de duidelijkheid. Het kan dus niet liggen aan het feit dat er geen id enzo is ingevuld. Wat dan?

Alvast bedankt.

Mike vd Veer,
 
PHP hulp

PHP hulp

08/08/2020 05:37:38
 
M Ypma

M Ypma

18/04/2008 22:21:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
WHERE id = " . $_GET['id'] . " AND
                                                                    accepted IS NULL";


eerst een where clausule met "=" en de 2e doe je met "IS" ?... ik weet niet of dat mag van mysql...denk (verrassend genoeg) van niet
 
Frank -

Frank -

18/04/2008 22:27:00
Quote Anchor link
IS NULL is een correcte syntax, niks mis mee. Maar echo de query eens, dan krijgen we te zien hoe deze er nu daadwerkelijk uitziet.

Daarnaast mag de GET niet zomaar in de SQL terechtkomen, die zul je wel moeten beveiligen, bv. met mysql_real_escape_string().

mysql_num_rows() is niet op zijn plaats, die gebruik je na een SELECT-query. Jij hebt de functie mysql_affected_rows() nodig, die kijkt hoeveel rijen er zijn geraakt door de UPDATE-query.

Ps. Echo is geen functie, de haakjes () horen daar dus niet te staan.
 
Mike vd Veer

Mike vd Veer

20/04/2008 00:33:00
Quote Anchor link
Nu heb ik dit als script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?
include('connect.php');

// eerst verwerken
if (empty($_GET['id']) == false && empty($_GET['accept']) == false)    {
    $sQuery = "UPDATE teams SET accepted = 3 WHERE id = " . (mysql_real_escape_string($_GET['id'])) . " AND
                                                                    accepted IS NULL"
;
        $result = mysql_query($sQuery) or die (mysql_error());
       If (mysql_query($result) == false)    {
        echo "Er ging iets fout met de query: ".mysql_error()."<br>";
       }
elseif(mysql_affected_rows($result)  == 0){
       echo "Dit team heeft zijn/haar emailadres al geactiveerd. ";

    }
else{
        echo "Gelukt!!!!<br>";
    }
}

?>


Maar ik krijg deze error:

Er ging iets fout met de query: 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 '1' at line 1
 
Frank -

Frank -

20/04/2008 00:51:00
Quote Anchor link
Echo de query eens, dan wordt een stuk duidelijker waar het nu over gaat. Met alleen de foutmelding weet je nog steeds niet hoe de query er nu uitziet.
 
Jesper Diovo

Jesper Diovo

20/04/2008 08:56:00
Quote Anchor link
Welk veld type heeft je id?
 
Josh

Josh

20/04/2008 10:56:00
Quote Anchor link
Kijk eens naar regel 9 in de laatste versie van je script:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
If (mysql_query($result) == false)    {

moet zijn
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
If ($result == false)    {
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.