error You have an error in your SQL syntax
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 'op de website van Home-Care Met groot enthousiasme presenteren wij u onze web' at line 1
waarbij is de ' heb gezet in de volgende lijn tekst" Welkom ' op de website van Home-Care"
hieronder zie je de codes die ik gebruik op de pagina om het in de database te zetten.
Ik zou super blij zijn als iemand weet waardoor die error komt en ik geen ' meer kan gebruiken in mn tekst blokken.
----------------------
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
<?
if (check_login()) {
$home = $_POST['home'];
if (isSet($_POST['submit_home'])){
$query = "UPDATE homecare_text SET home ='" . $home . "' WHERE id = 1";
mysql_query($query) or die(mysql_error());
header ('Location: index.php?page=home');
}
$query = "SELECT * FROM homecare_text ORDER BY id DESC";
$fetch = mysql_query($query);
?>
if (check_login()) {
$home = $_POST['home'];
if (isSet($_POST['submit_home'])){
$query = "UPDATE homecare_text SET home ='" . $home . "' WHERE id = 1";
mysql_query($query) or die(mysql_error());
header ('Location: index.php?page=home');
}
$query = "SELECT * FROM homecare_text ORDER BY id DESC";
$fetch = mysql_query($query);
?>
<form name"home_text" method="POST" action="">
<div align="left">
<table>
<tr>
<td>
Typ hier je home text<br>
<textarea cols="80" rows="20" name="home">
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?
$sql = "SELECT home FROM homecare_text ORDER BY -id LIMIT 0, 1";
$resultaat = mysql_query($sql);
$aantal = mysql_num_rows($resultaat);
while ($record = mysql_fetch_object($resultaat)) {
echo "$record->home\n";
}
?>
$sql = "SELECT home FROM homecare_text ORDER BY -id LIMIT 0, 1";
$resultaat = mysql_query($sql);
$aantal = mysql_num_rows($resultaat);
while ($record = mysql_fetch_object($resultaat)) {
echo "$record->home\n";
}
?>
</textarea>
</td>
</tr>
</table>
<input type="submit" value="Verzenden" name="submit_home">
<input type="reset" value="Wissen" name="reset">
<br>
</div>
</form>
Gewijzigd op 01/11/2013 15:13:10 door Maaike arentsen
Eerst en vooral, wil je je titel van je vraag aanpassen?
Iedereen heeft hulp nodig op dit forum, verander je titel over het onderwerp van je probleem.
En de oplossing:
Gebruik mysql_real_escape_string() om je variabelen geen, in je query's.
Voorbeeld:
$query = "UPDATE homecare_text SET home ='" . $home . "' WHERE id = 1";
Moet dit worden:
$query = "UPDATE homecare_text SET home ='" . mysql_real_escape_string($home) . "' WHERE id = 1";
Waarom?
Als je een accentje (') invoert, dan wordt die beschouwd als een accent, en zal hij je query aanpassen.
Nu is je script vatbaar voor sql injectie
Diov
geweldig, het is gelukt. Je hebt mijn weekend een stuk rustiger gemaakt.
Alvast bedankt.