Links wijzigen
in mijn cms systeempje heb ik een ink pagina maar als ik deze pagina wil bewerken krijg ik de volgende foutmelding: 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 2
alvast dank
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<div id="content">
<br />
<?php
// controle op inlog systeem
if (isset($_SESSION['loginId'] )){
// als er op submit werd gedrukt
if(isset($_POST['naam'])){
// variabelen
$naam = htmlentities($_POST['naam']);
$link = htmlentities($_POST['link']);
$info = $_POST['info'];
$id = $_POST['id'];
$query = "UPDATE `cms_links`
SET `naam` = '$naam', `link` = '$link', `info` = '$info' WHERE `id` = $id";
mysql_query($query)or die(mysql_error());
echo "De link werd gewijzigd. <a href='index.php'>Keer terug naar overzicht</a>";
?>
<?php }else{ ?>
<?php
$id = htmlentities($_GET['id']);
// medewerker opvragen met bovenstaande id
$query = "SELECT * FROM `cms_links` WHERE `id` = " .$id;
$result = mysql_query($query) or trigger_error( mysql_error() );
$rijWijzig = mysql_fetch_assoc($result);
?>
<!-- ecntype niet vergeten voor foto upload -->
<form action="#" method="post" enctype="multipart/form-data">
<table>
<tr>
<td width="42">naam:</td>
<td width="452"><input type="text" name="naam" value="<?php echo $rijWijzig['naam'] ?>" /></td>
</tr>
<tr>
<td>link:</td>
<td><input type="text" name="link" value="<?php echo $rijWijzig['link'] ?>" /></td>
</tr>
<tr>
<td colspan="2"><textarea name="info" cols="80"><?php echo $rijWijzig['info'] ?></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" class="knopke" value="Link wijzigen" /> </td>
</tr>
</table>
</form>
<?php }
// als de gebruiker niet ingelogd is
}else{
echo "<p style='color:red;'>U heeft geen toegang tot ons CMS systeem <br /><a href='index.php'>Login</a></p>";
}
?>
</body>
<?php }else{
header("location: index.php");
}
?>
<br />
<?php
// controle op inlog systeem
if (isset($_SESSION['loginId'] )){
// als er op submit werd gedrukt
if(isset($_POST['naam'])){
// variabelen
$naam = htmlentities($_POST['naam']);
$link = htmlentities($_POST['link']);
$info = $_POST['info'];
$id = $_POST['id'];
$query = "UPDATE `cms_links`
SET `naam` = '$naam', `link` = '$link', `info` = '$info' WHERE `id` = $id";
mysql_query($query)or die(mysql_error());
echo "De link werd gewijzigd. <a href='index.php'>Keer terug naar overzicht</a>";
?>
<?php }else{ ?>
<?php
$id = htmlentities($_GET['id']);
// medewerker opvragen met bovenstaande id
$query = "SELECT * FROM `cms_links` WHERE `id` = " .$id;
$result = mysql_query($query) or trigger_error( mysql_error() );
$rijWijzig = mysql_fetch_assoc($result);
?>
<!-- ecntype niet vergeten voor foto upload -->
<form action="#" method="post" enctype="multipart/form-data">
<table>
<tr>
<td width="42">naam:</td>
<td width="452"><input type="text" name="naam" value="<?php echo $rijWijzig['naam'] ?>" /></td>
</tr>
<tr>
<td>link:</td>
<td><input type="text" name="link" value="<?php echo $rijWijzig['link'] ?>" /></td>
</tr>
<tr>
<td colspan="2"><textarea name="info" cols="80"><?php echo $rijWijzig['info'] ?></textarea></td>
</tr>
<tr>
<td colspan="2">
<input type="submit" class="knopke" value="Link wijzigen" /> </td>
</tr>
</table>
</form>
<?php }
// als de gebruiker niet ingelogd is
}else{
echo "<p style='color:red;'>U heeft geen toegang tot ons CMS systeem <br /><a href='index.php'>Login</a></p>";
}
?>
</body>
<?php }else{
header("location: index.php");
}
?>
je hebt geen connectie naar de database?
Code (php)
1
2
3
2
3
<?php
// verbinding met database vanuit de include
include_once('../includes/conn.inc.php'); ?>
// verbinding met database vanuit de include
include_once('../includes/conn.inc.php'); ?>
Gebruik verder geen htmlentities() voordat je data naar de database wegschrijft, die functie gebruik je alleen als je HTML code in een browser wilt tonen en niet wilt uitvoeren. Voordat je data naar de database schrijft, beveilig je deze met mysql_real_escape_string().
Code (php)
1
2
3
4
2
3
4
UPDATE `cms_links` SET `naam` = 'CSS Validator', `link` = 'http://jigsaw.w3.org/css-validator/', `info` = '
css validatorsdqdq
' WHERE `id` = 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 2
css validatorsdqdq
' WHERE `id` = 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 2
bedankt voor de hulp ik heb het gevonden de pagina was geen id aanwezig voor de post
Zo zie je maar waar een degelijke foutafhandeling al niet goed voor is ;-)
// medewerker opvragen met bovenstaande id
$query = "SELECT * FROM `cms_links` WHERE `id` = " .$id;
Heb je ook een fout, dit moet worden:
$query = "SELECT * FROM `cms_links` WHERE `id` = '" .$id . "'";
Raoul Van den Berge op 11/06/2010 20:45:05:
Bij
// medewerker opvragen met bovenstaande id
$query = "SELECT * FROM `cms_links` WHERE `id` = " .$id;
Heb je ook een fout, dit moet worden:
$query = "SELECT * FROM `cms_links` WHERE `id` = '" .$id . "'";
// medewerker opvragen met bovenstaande id
$query = "SELECT * FROM `cms_links` WHERE `id` = " .$id;
Heb je ook een fout, dit moet worden:
$query = "SELECT * FROM `cms_links` WHERE `id` = '" .$id . "'";
Als $id werkelijk een getal is dan hoeft dat niet tussen quotes. De backtics mogen trouwens weg, sterker nog, die horen daar niet.