MySQL update
ik zit met een klein probleem dat ik mijn dbase niet geupdate
krijg met de nieuwe waarden.
Het probleem ligt niet in de variabelen want daar heb ik allemaal
een echo van gedaan en zitten geen fouten in.
Ook geeft hij nergens een foutmelding...
Kan er mij iemand zeggen of er een fout zit in onderstaande UPDATE clause:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$dbhost = 'localhost';
$dbuser = 'xxxx';
$dbpass = 'xxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'xxxx';
mysql_select_db($dbname);
$record = $_POST['record'];
$datum = $_POST['datum'];
$author = $_POST['author'];
$title = $_POST['title'];
$info = $_POST['info'];
$additional = $_POST['additional'];
$priority = $_POST['priority'];
//echo "$record , $datum , $author, $title , $info , $additional , $priority";
$sql = "UPDATE events SET datum='$datum' , author='$author' , title='$title' , info='$info' , additional='$additional', priority='$priority', WHERE record='$record'";
mysql_query($sql);
echo "<BR>Record $record <-- Updated<BR><BR>";
?>
$dbhost = 'localhost';
$dbuser = 'xxxx';
$dbpass = 'xxx';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 'xxxx';
mysql_select_db($dbname);
$record = $_POST['record'];
$datum = $_POST['datum'];
$author = $_POST['author'];
$title = $_POST['title'];
$info = $_POST['info'];
$additional = $_POST['additional'];
$priority = $_POST['priority'];
//echo "$record , $datum , $author, $title , $info , $additional , $priority";
$sql = "UPDATE events SET datum='$datum' , author='$author' , title='$title' , info='$info' , additional='$additional', priority='$priority', WHERE record='$record'";
mysql_query($sql);
echo "<BR>Record $record <-- Updated<BR><BR>";
?>
Alvast bedankt voor de hulp
Yannick
Er zit geen enkele controle in je script. Ga dat eerst eens inbouwen. En zet error_reporting aan.
En post die error hier als je er dan nog niet uitkomt.
- zet je variabelen eens buiten haakjes
zet je variabelen eens buiten quotes, check de kleurtjes in regel 21
wat de SQL injecties betreft weet ik van het probleem
maar wil dit eerst in orde krijgen en me dan in de injecties
verdiepen, eerst beginnen met de basics onder de knie te krijgen :-)
Heb code aangepast op jullie raad naar het volgende:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
$dbhost = 'localhost';
$dbuser = 's7654sho_admin';
$dbpass = 'admin';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 's7654sho_report';
mysql_select_db($dbname);
$record = $_POST[record];
$datum = $_POST[datum];
$author = $_POST[author];
$title = $_POST[title];
$info = $_POST[info];
$additional = $_POST[additional];
$priority = $_POST[priority];
echo "$record , $datum , $author, $title , $info , $additional , $priority";
$sql = "UPDATE events SET datum=$datum , author=$author , title=$title , info=$info , additional=$additional, priority=$priority WHERE record=$record";
mysql_query($sql)or die(mysql_error());
echo "<BR>Record $record <-- Updated<BR><BR>";
?>
$dbhost = 'localhost';
$dbuser = 's7654sho_admin';
$dbpass = 'admin';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');
$dbname = 's7654sho_report';
mysql_select_db($dbname);
$record = $_POST[record];
$datum = $_POST[datum];
$author = $_POST[author];
$title = $_POST[title];
$info = $_POST[info];
$additional = $_POST[additional];
$priority = $_POST[priority];
echo "$record , $datum , $author, $title , $info , $additional , $priority";
$sql = "UPDATE events SET datum=$datum , author=$author , title=$title , info=$info , additional=$additional, priority=$priority WHERE record=$record";
mysql_query($sql)or die(mysql_error());
echo "<BR>Record $record <-- Updated<BR><BR>";
?>
Nu geeft hij echter volgende SQL error weer:
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 'update VAMA , title=title update vama , info=info update vama , additional=addit' at line 1
iemand een idee?
Om tekst in de query horen enkele quotes te staan. Dus title = '.....'.
Zoiets:
Code (php)
1
2
3
2
3
<?php
$sql = 'UPDATE events SET datum='.$datum.', author='.$author.',title='.$title.'',info='.$info.',additional='.$additional.',priority='.$priority.'WHERE record='.$record;
?>
$sql = 'UPDATE events SET datum='.$datum.', author='.$author.',title='.$title.'',info='.$info.',additional='.$additional.',priority='.$priority.'WHERE record='.$record;
?>
Gewijzigd op 21/09/2010 13:32:51 door John D
John D op 21/09/2010 13:29:42:
Dit is ook niet correct.
probleem was inderdaad de '....'.
@SanThe Nvt: Heb je soms enkel tips over die MySQL injects? of weet
je ergens een duidelijk uitleg hierover staan want er staat zoveel over online :-)