Avatar billede Slettet bruger
20. juni 2004 - 12:42 Der er 13 kommentarer og
1 løsning

Fejl i sql kode

Hej eksperter!

Hurtigt spørgsmål. Hvad er fejlen her?

$query = mysql_query("SELECT * FROM catalog WHERE system = ".$_GET['x']." AND title LIKE '%".$_GET['q']."%' ORDER BY system ASC, title ASC") or die(mysql_error());
Avatar billede jaw Nybegynder
20. juni 2004 - 12:44 #1
Ved ikke hvad der er glat, for du skriver ikke om du får fejl eller noget som helst, men det her er en finere måde at gøre det på:

$x = $_GET['x'];
$q = $_GET['q'];

$query = mysql_query("SELECT * FROM catalog WHERE system = '$x' AND title LIKE '%$q%' ORDER BY system ASC, title ASC") or die(mysql_error());
Avatar billede Slettet bruger
20. juni 2004 - 12:49 #2
Ja men den error der kommer siger ikke så meget om det:
You have an error in your SQL syntax near 'Nintendo AND title LIKE '%zelda%' ORDER BY system ASC, title ASC' at line 1
Avatar billede jaw Nybegynder
20. juni 2004 - 12:51 #3
near 'Nintendo    <- mangler du den afsluttende ' ?
Avatar billede Slettet bruger
20. juni 2004 - 12:52 #4
Du skal have glyffer omkring Nintendo!
Avatar billede Slettet bruger
20. juni 2004 - 12:52 #5
$query = mysql_query("SELECT * FROM catalog WHERE system = '".$_GET['x']."' AND title LIKE '%".$_GET['q']."%' ORDER BY system ASC, title ASC") or die(mysql_error());
Avatar billede Slettet bruger
20. juni 2004 - 12:59 #6
Okay det virker fint. Trælst at jeg ikke så den :( Nå, men hvem skal have point?
Avatar billede Slettet bruger
20. juni 2004 - 13:03 #7
Forresten, hvordan kan jeg så gøre sådan man kan søge i alle systemer? Altså jeg har en rullemenu hvor der er en der hedder All. Value er "" men det virker ikke
Avatar billede jaw Nybegynder
20. juni 2004 - 13:29 #8
Hvad mener du med at søge i alle systemter? Og ang. point, skal du jo give point til den løsning du brugte :)
Avatar billede Slettet bruger
20. juni 2004 - 13:34 #9
Altså, man kan vælge et system (kategori) at søge i, men jeg vil gerne have den til at søge i alle sammen når man vælger all. Og det med point, der skrev i jo det samme. Jeg satte bare ' på
Avatar billede Slettet bruger
20. juni 2004 - 13:44 #10
Du kan jo bare:

if($_GET['system'] != '') {
$sql_extra = "system = '" . $_GET['x'] . "' AND";
}

$sql = "SELECT * FROM catalog WHERE $sql_extra title LIKE '%".$_GET['q']."%' ORDER BY system ASC, title ASC";

$query = mysql_query($sql) or die(mysql_error());
Avatar billede Slettet bruger
20. juni 2004 - 14:12 #11
el_barto smid et svar!
Avatar billede Slettet bruger
20. juni 2004 - 14:18 #12
oki :)
Avatar billede Slettet bruger
20. juni 2004 - 14:34 #13
Tak for hjælpen
Avatar billede jaw Nybegynder
20. juni 2004 - 14:35 #14
no problemo :)
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