Avatar billede svjensen Nybegynder
25. januar 2004 - 13:07 Der er 8 kommentarer og
1 løsning

Problem med "mini" sql query analyzer

Jeg sender fra et textarea (name=txtsql) en sql-kommando/forespørgsel til et php script.
Ved hjælp af nedenstående skulle kommandoen så gerne eksekveres.
'create' og 'select' ser ud til at virke, men jeg kan fx ikke inserte.

$sql = $_POST["txtsql"];
$sql = explode(" ", $sql);
       
switch ($sql[0]){
  case "select":
    $res = mysql_query($_POST["txtsql"]);
    echo ("Her er indholdet af din forespørgsel.<br><br>");
      while ($row = mysql_fetch_row($res)) {
        echo "<tr><td class=TDCenter>$row[0]</td></tr>";
      }
  break;
  case "create":
    $res = mysql_query($_POST["txtsql"]);
  break;
  case "alter":
    $res = mysql_query($_POST["txtsql"]);
  break;
  case "insert":
    $res = mysql_query($_POST["txtsql"]);
  break;
  case "update":
    $res = mysql_query($_POST["txtsql"]);
  break;
  case "delete":
    $res = mysql_query($_POST["txtsql"]);
  break;
}
Avatar billede svjensen Nybegynder
25. januar 2004 - 13:09 #1
'alter' virker i øvrigt også.

Jeg kan fx ikke få følgende til at virke: insert into test (test) values ('test')
Avatar billede svjensen Nybegynder
25. januar 2004 - 13:27 #2
Jeg skulle måske lige nævne, at det er MySQL jeg anvender.
Avatar billede erikjacobsen Ekspert
25. januar 2004 - 13:50 #3
Du skal da lige:

  $res = mysql_query($_POST["txtsql"]) or die(mysql_error()." ".$_POST["txtsql"]);

og fortæl hvad den siger
Avatar billede svjensen Nybegynder
25. januar 2004 - 13:58 #4
insert into test (test) values ('test')

giver:

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 '\'test\')' at line 1 insert into test (test) values (\'test\')
Avatar billede erikjacobsen Ekspert
25. januar 2004 - 14:07 #5
så skal du lave en stripslashes på din tekst
Avatar billede svjensen Nybegynder
25. januar 2004 - 14:08 #6
Du må lige hjælpe mig lidt videre. Jeg har først for nyligt taget hul på PHP, og er mest vant til ASP.
Avatar billede svjensen Nybegynder
25. januar 2004 - 14:15 #7
Jeg fandt den, og det virker.

Jeg takker. Husk et svar
Avatar billede erikjacobsen Ekspert
25. januar 2004 - 14:31 #8
Tak, jeg samler ikke på point.

Så husk det med ... or dir(mysql_error()) - du får nemlig ikke umiddelbart
at vide når der er noget galt i en sql-sætning.
Avatar billede svjensen Nybegynder
25. januar 2004 - 14:35 #9
Så lærte jeg også noget i dag. Dejligt, så er det værd at leve ;-)
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