$sql = "UPDATE kommentar SET navn='". $_POST['navn'] ."' , mail='". $_POST['mail'] ."' , hp='". $_POST['hp'] ."' , tekst='". $_POST['tekst'] ."' where id = " . $_GET['id'];
mysql_query($sql,$connection) or die(mysql_error()); mysql_close($connection) or die(mysql_error());
?>
Den skriver:
Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/virtual/psychokatten.dk/public_html/design/update_kommentar.php on line 12
Linje 12: mysql_query($sql,$connection) or die(mysql_error());
Den virker på mine andre redigerings ting. Hvad er der galt?
udvikler > hvad er det helt præcist du mener at have gjort for at forebygge sql injections? så vidt jeg kan se har du bare gemt post værdien er nogle variable inden sql-strengen samles. det ser ud til at du har glemt noget ;)
Ak ja, jeg glemte mysql_real_escape_string Grunden til det er at jeg mistede det første script jeg lavede, og da jeg skrev det igen i anden omgang gik det vidst lidt for stærkt.
Det burde vaere fint! Om du lukker eller ej, med mysql_close() vil den alligevel blive lukket (med mindre der er mere end 20 abne database forbindelser, talt ud fra php 4, og ikke 5, saa jeg ved ikke hvor mange ,der er i php5). Og den senest aabne forbindelse vil blive brugt. mysql_close() er oftest ligegyldig.
I Oevrigt kan du i php bruge variabler direkte i sql saetninger.. f.eks:
SELECT * FROM $tabel WHERE $felt = '$argument'
..Du behoever ikke konkatenere med '".$blah."'
Endvidere kan du skifte include ud med require, hvis du vil have php compileren til at kaste en fejl hvis den ikke kan finde filerne (a'la din mysql_error()).
Udvikler> Nu skriver den; "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"
UPDATE kommentar SET navn='PsychoKatten.Dk ' , mail='NoMail@PsychoKatten.Dk ' , hp='PsychoKatten.Dk' , tekst='Vær venlig at kommenterer til denne nyhed (:
Med venlig hilsen, PsychoKatten.Dk
NB: Dette er en automatisk besked af PsychoKatten.Dk.\r\ntest' where id = 2You 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
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.