Avatar billede kack Nybegynder
03. april 2005 - 17:26 Der er 9 kommentarer og
1 løsning

You have an error in your SQL syntax

Denne fejl, får jeg når jeg køre min kode:

Invalid 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 'WHERE brugernavn LIKE 'kack' LIMIT '1'' at line

og koden:

<?
if (isset($_POST['ok']))
{
    $sql = "
    UPDATE
        mm_brugere
        SET
        email = '" . mysql_escape_string( $_POST['email'] ) . "',
        fornavn = '" . mysql_escape_string( $_POST['fornavn'] ) . "',
        efternavn = '" . mysql_escape_string( $_POST['efternavn'] ) . "',
        WHERE
        brugernavn LIKE '" . $_SESSION['bruger'] . "'
        LIMIT '1'";

    $query = mysql_query($sql) or die('Invalid query: ' . mysql_error());
    if (mysql_affected_rows() > 0)
        echo "Opdateringen er udført...";
    else
        echo "Opdateringen mislykkedes.";
}
    ?>


Hvad er der galt?
Avatar billede jaw Nybegynder
03. april 2005 - 17:28 #1
fjern dit , efter $_POST['efternavn'] ). "'
Avatar billede doodset Nybegynder
03. april 2005 - 17:29 #2
prøv like '%kack%'
Avatar billede kack Nybegynder
03. april 2005 - 17:34 #3
Jaw: Nu får jeg denne fejl istedet: Invalid 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 9

doodset: Det er jo ikke meningen at det kun skal virke med mit brugernavn. Det skal virke med alle brugerne.
Avatar billede doodset Nybegynder
03. april 2005 - 17:35 #4
hvorfor så ikke = istedet for like?
jeg får fejl om jeg siger like 'etellerandet'
Avatar billede jaw Nybegynder
03. april 2005 - 17:37 #5
Du skal ikke have '' om 1-tallet i din LIMIT
Avatar billede jaw Nybegynder
03. april 2005 - 17:37 #6
Doodset - Når du bruger = og LIKE er den største forskel at du kan bruge wildcards (%, *, _ etc) i LIKE, kan du ikke i =. Men LIKE 'kack' eller = 'kack' skulle gerne give samme resultat...?!
Avatar billede kack Nybegynder
03. april 2005 - 17:39 #7
Takker..

Nu virker det :D

Ligger du et svar jaw?
Avatar billede jaw Nybegynder
03. april 2005 - 17:39 #8
Kan jo også forklare hvorfor der ikke skal være ' ' omkring 1-tallet, ellers giver det måske ikke meget forståelse!? Hvis du har ' ' omkring, opfatter MySQL/PHP indholdet som en string, altså tekst. Uden bliver det opfattet som en integer, altså et tal, hvilket er det du ønsker her. Du kan jo ikke skrive LIMIT 'en' som i virkeligheden er hvad du prøver.

Forståeligt? :)
Avatar billede jaw Nybegynder
03. april 2005 - 17:40 #9
Det kan du tro - og selv tak :)
Avatar billede kack Nybegynder
03. april 2005 - 17:41 #10
Jep :D

Så lærte jeg også noget idag :)
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



IT-JOB

Københavns Professionshøjskole

Cloudarkitekt

Aller Media A/S

Fullstack Developer

Danske Spil A/S

Senior backend-udvikler