Mogelijk een komma in een variabele die je wilt opslaan, of de komma's in je query verkeerd staan?
Laats eens het stukje code zien waar de genoemde query in staat.
Link gekopieerd
Hoe kan ik hier makkelijk een stukje code laten zien?
Gewoon kopiƫren en plakken.
Link gekopieerd
Link gekopieerd
Dos Moonen
24-02-2014 13:41
gewijzigd op 24-02-2014 13:42
Wel tussen code tags plaatsen <code>hier je code</code> alleen dan met [ en ] op de plaats van de < en >, respectievelijk.
PS. Ik hoop dat de volledige SQL query deel van je code is?
Link gekopieerd
Als ik iets heb gewijzigd en dan op opslaan heb geklikt, kom ik op dit script:
<?php
session_start();
ini_set('display_errors', 1);
//error_reporting(E_ALL | E_STRICT);
include ("Clef.php");
include 'test/passcode.php';
$in = $_SESSION['sleutel'];
if ($_SERVER['REQUEST_METHOD'] == 'POST')
{ //kijken of het formulier gepost is
1e open {
$Titel = $_POST['TI'];
$Voornaam = $_POST['VN'];
$Tussenv= $_POST['TV'];
$Voorletters = $_POST['AH'];
$Achternaam = $_POST['AN'];
$Geslacht = $_POST['GS'];
$Gebdatum = $_POST['GD'];
$Overldatum = $_POST['OD'];
$Opmerking =$_POST['OPM'];
//-------------------------------------------------------
mysql_query("UPDATE komponisten
Titel='$Titel' ,
Voornaam='$Voornaam' ,
Tussenv='$Tussenv' ,
Voorletters='$Voorletters',
Achternaam='$Achternaam' ,
Geslacht='$Geslacht' ,
Gebortedatum='$Gebdatum' ,
Overlijdingsdatum='$Overldatum',
Opmerking='$Opmerking'
WHERE ID='$in'") or die("Oeps " . mysql_error());
//-----------------------------------------------------------
//-------------------------------------------------------
$Inlognaam = $Logincode;
$Functie = "DOCENT";
$New = $_SESSION['NewLog'];
$New = trim($New);
if ($New == "New")
{
$_SESSION["NewLog"] = "";
mysql_query("INSERT INTO Gebruikers (Inlognaam,Password,Functie) VALUES ('" . $Inlognaam . "',
AES_ENCRYPT('$Password','$passcode'), '" . $Functie . "')") or die(mysql_error());
} else
{
if(!empty($Password))
{
mysql_query("UPDATE Gebruikers SET Inlognaam='$Inlognaam',
Password=AES_ENCRYPT('$Password','$passcode') , Functie=' $Functie' WHERE Inlognaam='$Inlognaam'")
or die("Oeps " . mysql_error());
}
}
}
?>
<script type="text/javascript">
top.location.href = 'testzoekkomponist.php';
</script>
Het is de eerste keer dat ik hier code neerzet, ik hoop dat het goed wordt weergeven.
Link gekopieerd
Ivo P
24-02-2014 14:19
gewijzigd op 24-02-2014 14:28
Link gekopieerd
@Ivo hoe kan een waarde nu een probleem geven met gereserveerde woorden?
Anyway, @TS, het probleem is dat je UDPATE statement gewoon niet klopt. Het SET keyword ontbreekt
<?php
mysql_query("UPDATE komponisten
Titel='$Titel' ,
Voornaam='$Voornaam' ,
Tussenv='$Tussenv' ,
Voorletters='$Voorletters',
Achternaam='$Achternaam' ,
Geslacht='$Geslacht' ,
Gebortedatum='$Gebdatum' ,
Overlijdingsdatum='$Overldatum',
Opmerking='$Opmerking'
WHERE ID='$in'")
?>
Moet zijn:
<?php
mysql_query("UPDATE komponisten
SET
Titel='$Titel' ,
Voornaam='$Voornaam' ,
Tussenv='$Tussenv' ,
Voorletters='$Voorletters',
Achternaam='$Achternaam' ,
Geslacht='$Geslacht' ,
Gebortedatum='$Gebdatum' ,
Overlijdingsdatum='$Overldatum',
Opmerking='$Opmerking'
WHERE ID='$in'")
?>
Link gekopieerd
Het is gelukt :)
Super bedankt allemaal!!!!
Link gekopieerd
Ivo P
24-02-2014 14:31
gewijzigd op 24-02-2014 14:35
mijn edit is wat naarboven terecht gekomen/:
http://wiki.pfz.nl/sqlinjectie
dat voorkomt problemen met namen waarin een ' zit. Bijvoorbeeld 's-Hertogenbosch
of bewuste pogingen tot hackeen.
---
De melding is trouwens "near ='Dr.'"
Dus als de kolomnaam bijvoorbeeld SUM is, dan zou mysql best eens bij de "=" kunnen gaan hikken over het niet aantreffen van een ( na de functienaam SUM
Link gekopieerd