Avatar billede christian-s Nybegynder
14. august 2004 - 10:33 Der er 20 kommentarer og
1 løsning

Fejl i " linie 1 - har prøvet uden helt

Jeg sidder med en kode hvor jeg ligepludselig får denne fejl:
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

Jeg har siddet i laaaang tid, men kan ikke få det på rette vej. Kan I måske give et hint?
Avatar billede retep Nybegynder
14. august 2004 - 10:36 #1
Det ser ud til at det er linie 1 af din sql og ikke din php kode... Prøv at poste noget kode her, så kan vi se... :)
Avatar billede mjl Nybegynder
14. august 2004 - 10:36 #2
Lidt kode (line 1)
Avatar billede christian-s Nybegynder
14. august 2004 - 10:39 #3
linie1:  <?php include("topbar.php");

Der kan ikke være fejl i denne linie, der er fejl andet steds, har nemlig ikke rettet i toppen af dokumentet...
Avatar billede retep Nybegynder
14. august 2004 - 10:41 #4
Ja, som jeg skrev vil vi gerne se din sql ;)
Avatar billede christian-s Nybegynder
14. august 2004 - 10:44 #5
Det der undrer mig, er, at jeg ikke har redigeret dem siden fejlen er kommet... Denne er den eneste, der kan have indflydelse:

$query = mysql_query("UPDATE menu SET mheadline = '$fil' WHERE mid = '$mid'") or die (mysql_error());
Avatar billede christian-s Nybegynder
14. august 2004 - 10:46 #6
Vil I have en masse kode?
Avatar billede Slettet bruger
14. august 2004 - 10:49 #7
næh...
$sql = 'UPDATE menu SET mheadline = "' . $fil . '" WHERE mid = "' . $mid . '"';
echo $sql;
query = mysql_query($sql) or die (mysql_error());

Se om din sql query indeholder det du tror...
Avatar billede dennismp Nybegynder
14. august 2004 - 10:50 #8
Hvis du er sikker på at det er den sql der er problemet så prøv at rette linjen til:

$query = mysql_query($sql="UPDATE menu SET mheadline = '$fil' WHERE mid = '$mid'") or die (mysql_error() . "<i>SQL: $sql</i>");

prøv at se hvad outputtet er (paste det evt her)
Avatar billede retep Nybegynder
14. august 2004 - 10:50 #9
Prøv:

$query = mysql_query("UPDATE menu SET mheadline = '".addslashes($fil)."' WHERE mid = '$mid'") or die (mysql_error());

Er ikke sikkert det virker, men kan være fordi der er et " i variablen $fil
Avatar billede christian-s Nybegynder
14. august 2004 - 10:53 #10
el_barto
der kommer nøjagtigt samme fejl, den skriver ikke andet end: 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
Avatar billede dennismp Nybegynder
14. august 2004 - 10:54 #11
Hvis den slet ikke skriver "UPDATE menu ... " - så kigger du det gale sted :-)
Avatar billede christian-s Nybegynder
14. august 2004 - 10:58 #12
Nej, der kommer samme fejl med alle løsningerne. Det er en del af en post form der uploader et billede. Updaten skal indsætte filnavnet i databasen. Jeg kigger derfor så vidt jeg kan se det rigtige sted, fejlen må ligge andetsteds...
Updaten er i et { } der bliver defineret af et hidden felt i post formen
Avatar billede dennismp Nybegynder
14. august 2004 - 11:02 #13
Jammen, hvis du er sikker på at du har skrevet fejlen ud (som forslået af el_barto og mig) - så bør du kunne se den. Hvis du ikke kan se den, så er stringen tom (med mindre du har prefix'et outputtet med fx. <i>SQL</i>).. ELLER det er et andet sted det går galt. Jeg tror på det sidste - men det er svært at se, med det du har givet os.
Avatar billede christian-s Nybegynder
14. august 2004 - 11:05 #14
Det er et andet sted det går galt. Jeg vil gerne poste mere kode, er I interesseret?
Avatar billede dennismp Nybegynder
14. august 2004 - 11:12 #15
Det ville unægtelig være nemmere at hjælpe dig, hvis du gør :-)

Prøv at finde ud af, vha, echo hvilken sql den er gal med - og paste bare selve sql'en.
Avatar billede christian-s Nybegynder
14. august 2004 - 11:17 #16
$action = $_GET['action'];
$action2 = $_POST['action2'];
$mid = $_GET['mid'];

if (!$action) {

            $sql = "SELECT * FROM menu WHERE mid = $mid";
           
            $result = mysql_query($sql) or die(mysql_error());

            $row = mysql_fetch_array($result);

                $mid            = $row["mid"];
                $mname            = $row["mname"];
                $mheadline        = $row["mheadline"];
                $mpress            = $row["mpress"];
                $mtext            = $row["mtext"];
                                               
echo "        <form action='edit_menu.php' name='edit_name' method='get'>\n";
echo "        <input type='hidden' name='action' value='edit_name'>\n";
echo "        <input type='hidden' name='mid' value='$mid'>\n";

        echo "<table width='100%' border='0' cellspacing='0' cellpadding='2' class='admin'>\n";
       
        echo "<tr><td height='20' colspan='2' class='admintop'><b>Egenskaber for menu</b></td></tr>\n";
       
        echo "<tr><td width='200'><b>Rediger navn:</b></td><td><input type='text' name='mname' value='$mname'></td></tr>\n";
       
        echo "<tr><td></td><td><input type='submit' name='submit' value='Opdater'></td></tr>\n";

echo "        </form>\n";

        echo "<tr><td width='200' valign='top'><b>Rediger headline:</b></td><td>";

        if (!$mheadline) {

echo "        <form action='edit_menu.php' name='add_headline' method='post' enctype='multipart/form-data'>\n";

echo "        <input type='hidden' name='action2' value='add_headline'>\n";
echo "        <input type='hidden' name='mid' value='$mid'>\n";

echo "        <input type='file' name='fil'>\n";

echo "        <input type='submit' name='submit' value='Tilføj headline'>\n";
       
        }

}

if ($action2 == 'add_headline') {

$mid = $_POST['mid'];

echo $file;

$uploaddir = '$document_root/graphics/';
$uploadfile = $uploaddir . $_FILES['fil']['name'];

print "<pre>";
if (move_uploaded_file($_FILES['fil']['tmp_name'], $uploadfile)) {
  print "File is valid, and was successfully uploaded. ";
  print "Here's some more debugging info:\n";
  print_r($_FILES);
} else {
  print "Possible file upload attack!  Here's some debugging info:\n";
  print_r($_FILES);
}
print "</pre>";

$fil = $_FILES['fil']['name'];

$query = mysql_query("UPDATE menu SET mheadline = '".addslashes($fil)."' WHERE mid = '$mid'") or die (mysql_error());

        echo "<b><a href='edit_menu.php?mid=$mid'>Gå tilbage til oversigten</a></b>";

}
Avatar billede christian-s Nybegynder
14. august 2004 - 11:20 #17
Jeg tror, at dette er alt der berør problemet
Avatar billede retep Nybegynder
14. august 2004 - 11:21 #18
Du har både post og getvars... Det kan man ikke samtidigt! Prøv at rette:
$action = $_GET['action'];
$action2 = $_POST['action2'];
$mid = $_GET['mid'];
til
$action = $_REQUEST['action'];
$action2 = $_REQUEST['action2'];
$mid = $_REQUEST['mid'];

Din $mid har garanteret været tom hele tiden, og dermed fejlen... vil jeg tro ;)
Avatar billede retep Nybegynder
14. august 2004 - 11:23 #19
og dog, du har jo opdelt scriptet efter om man kommer via get eller post...
Avatar billede christian-s Nybegynder
14. august 2004 - 11:35 #20
retep
ja, request der var løsningen. $mid er dog ikke tom :)
tak for hjælpen!
Avatar billede christian-s Nybegynder
04. september 2004 - 13:53 #21
--
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