Avatar billede dhunters Nybegynder
13. august 2004 - 10:52 Der er 20 kommentarer og
2 løsninger

Updatescript melder fejl

Kan nogen finde den?

<?php
$db = mysql_connect("host", "user", "pass")or die("Desværre ingen forbindelse til databasen");
mysql_select_db("bumbum", $db)or die("Kunne ikke vælge databasetabel");

    $id = $_POST['id'];
mysql_query("UPDATE tekst SET tekst='$_POST[tekst]' WHERE id=$id") or print mysql_error();

?>

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

På forhånd tak for hjælpen,
/dhunters
Avatar billede Slettet bruger
13. august 2004 - 10:59 #1
Det er altid en god tid at skrive sql queryen ud:

$sql = 'UPDATE tekst SET tekst="' . $_POST['tekst'] . "' WHERE id="' . $id . '"';
echo $sql;

$result = mysql_query($sql) or die(mysql_error());
Avatar billede michael_stim Ekspert
13. august 2004 - 11:00 #2
$id = $_POST['id'];
$tekst = $_POST['tekst'];
mysql_query("UPDATE tekst SET tekst='$tekst' WHERE id=$id") or die(mysql_error());

Hvad siger den?
Avatar billede dhunters Nybegynder
13. august 2004 - 11:10 #3
Den melder nøjagtig samme fejl som før... Lige meget hvilket af eksemplerne jeg bruger.
Avatar billede michael_stim Ekspert
13. august 2004 - 11:13 #4
Men bruger du el_bartos eksempel skulle du gerne få din sql-string udskrevet. Hvad siger den?
Avatar billede erikjacobsen Ekspert
13. august 2004 - 11:13 #5
Hvad skriver din ud med echo $sql; ?
Det lader til at $id er tom.
Avatar billede dhunters Nybegynder
13. august 2004 - 11:21 #6
Den skriver dette:
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 1UPDATE tekst SET tekst="" WHERE id=""

id er defineret i adressebaren
Avatar billede michael_stim Ekspert
13. august 2004 - 11:24 #7
Så er det din POST der er noget galt med. Der kommer jo ikke noget ind i stringen.
Avatar billede dhunters Nybegynder
13. august 2004 - 11:27 #8
dette er siden oplysningerne kommer fra:

<?php
connection...

if(isset($_GET['ret'])) {
$id = $_GET['ret'];
    $oplysninger = mysql_query("SELECT tekst FROM tekst WHERE id=$id") or die (mysql_error());
    $row = mysql_fetch_array($oplysninger);{
?>
<form method='post' action="update2.php?id=<?php echo $id; ?>">
Firmanavn: <input type='text' name='text' value='<?php echo $row['tekst']; ?>'><br>
<input type='submit' name='opdater' value=' Opdatér '>
</form>

<?php
}
}
?>
Avatar billede michael_stim Ekspert
13. august 2004 - 11:28 #9
Så skal du nok bruge $_GET['id'];
Avatar billede krydset Nybegynder
13. august 2004 - 11:32 #10
mysql_query("UPDATE tekst SET tekst='$tekst' WHERE id='$id'") or die(mysql_error());
Avatar billede dhunters Nybegynder
13. august 2004 - 11:33 #11
hehe... ok! nu duer det - den opdaterer bare ikke teksten :)

sql: UPDATE tekst SET tekst="" WHERE id="1"
Avatar billede erikjacobsen Ekspert
13. august 2004 - 11:36 #12
Men den hedder jo 'text' og ikke 'tekst' i din form
Avatar billede dhunters Nybegynder
13. august 2004 - 11:47 #13
nåja! men det er rettet nu, og tekst er stadig tom
Avatar billede michael_stim Ekspert
13. august 2004 - 11:52 #14
Henter du text med POST eller GET? Det skal hentes med POST.
Avatar billede dhunters Nybegynder
13. august 2004 - 11:54 #15
den her:
    $id = $_GET['id'];
mysql_query("UPDATE tekst SET tekst='$_POST[tekst]' WHERE id=$id") or print mysql_error();

så det er POST
Avatar billede michael_stim Ekspert
13. august 2004 - 11:55 #16
Firmanavn: <input type='text' name='tekst' value='<?php echo $row['tekst']; ?>'><br>
Og du har ändret denne?
Avatar billede michael_stim Ekspert
13. august 2004 - 11:57 #17
$id = $_GET['id'];
$tekst = $_POST['tekst'];
mysql_query("UPDATE tekst SET tekst='$tekst' WHERE id=$id") or print mysql_error();
Avatar billede dhunters Nybegynder
13. august 2004 - 11:59 #18
hehe... Har ikke prøvet den seneste michael_stim, men på en eller anden underlig måde har jeg rodet mig frem til at det nu duer! der faktisk ikke helt klar over hvad jeg gjorde... Men nu duer det!

Smid et svar hvis I vil have lidt point michael_stim og erikjacobsen!
Avatar billede michael_stim Ekspert
13. august 2004 - 12:00 #19
OK, bare det duer ;o)
Avatar billede michael_stim Ekspert
13. august 2004 - 12:00 #20
Ups.
Avatar billede erikjacobsen Ekspert
13. august 2004 - 12:01 #21
Tak, men jeg samler slet ikke på point.
Avatar billede dhunters Nybegynder
13. august 2004 - 12:04 #22
ok, erik! det vidste jeg vist godt i forvejen!
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