Avatar billede smeier Nybegynder
27. september 2004 - 19:19 Der er 5 kommentarer og
1 løsning

error in SQL syntax.

Får følgende fejl i følgende side og jeg forstår det ikke.
Nogen hjælp?

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

tekster.php---->
<?php
$thispage = $_SERVER["PHP_SELF"];   
$ID = $_GET['ID'];

if (isset($_POST['Submit']) && $_POST['Submit'] == 'Submit') {

  // Format the data
$tekst = $_POST['tekst'];
$tekst = nl2br('$tekst');

  // Update values
$query = "UPDATE tekster
            SET tekst = '$tekst',
            WHERE ID = $ID";
  $result = mysql_query($query) or die(mysql_error());
  if (mysql_affected_rows() == 1) {
  header("Location: index.php");
  } else {
 
  }
}
//Forbindelse til Databasen
include("db_password.inc");
mysql_connect($hostname, $user, $password);
mysql_select_db("$db");
?>

<h1><strong>Tekster fra Spillesteder.dk</strong></h1><br>
<?
$query = "SELECT * FROM tekster where ID=$ID";
  $result = mysql_query($query) or die(mysql_error());
while ($data = mysql_fetch_row($result)) {
}
$form_str = <<< EOFORMSTR
<form action="$thispage" method="get">
<select name="navn" onchange="this.form.tekst.value=this.value;">
<option value="kategori">kategori</option>
<option>tekst2</option>
</select>
<br>
<textarea name="tekst" cols="75" rows="15">$data[2]</textarea>
<input type="Submit" value="Submit" name="Submit">
</form><br>
EOFORMSTR;
    echo $form_str;
?>
Avatar billede tangveje Nybegynder
27. september 2004 - 19:22 #1
Prøv at skifte din første $query ud med denne (fjernet et komma)

$query = "UPDATE tekster
            SET tekst = '$tekst'
            WHERE ID = $ID";
Avatar billede smeier Nybegynder
27. september 2004 - 19:57 #2
hjalp desværre ikke.
Avatar billede tangveje Nybegynder
27. september 2004 - 20:03 #3
Ved ikke om det hjælper, men det er det eneste jeg kan finde på (har ikke rodet med PHP i laaaang tid). Om ikke andet er det god skik af sikkerhedsmæssige hensyn...

$query = "UPDATE tekster
            SET tekst = '$tekst'
            WHERE ID = '$ID'";

Samme bør gøres med din anden query.
Avatar billede Slettet bruger
27. september 2004 - 22:10 #4
Prøv at flytte det her:

//Forbindelse til Databasen
include("db_password.inc");
mysql_connect($hostname, $user, $password);
mysql_select_db("$db");

op før du forsøger at bruge databasen første gang. Så slipper du for fejl, når du sender formularen.

Den fejl, du oplever nu, skyldes med meget stor sikkerhed, at du ikke tester for om $ID har noget indhold, før du pruger den i din søgning. Prøv at skrive

side.php?ID=1 i stedet for bare side.php, når du prøver at se siden.
Avatar billede smeier Nybegynder
28. september 2004 - 10:44 #5
Sandbox--->
Det virkede sku. Send gerne et svar.
Avatar billede Slettet bruger
28. september 2004 - 14:01 #6
OK

Hvis du retter linien

$ID = $_GET['ID'];

til

$ID = (isset($_GET['ID']))?$_GET['ID']:1;

så bliver $ID automatisk sat til 1, hvis man prøver at se siden uden at give et id.
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