Foutmelding bij Update
Ik wil via een formulier gegevens in een database updaten maar ik krijg deze melding
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`Naam2`=VanDenBossche,`VNaam2`=Martha,`Opmerking`= hier de opmerkingen WHERE ...' at line 1
Ik heb al veel gevonden op het internet maar niet het juiste.
Dit is mijn code:
Iemand een oplossing?
You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '`Naam2`=VanDenBossche,`VNaam2`=Martha,`Opmerking`= hier de opmerkingen WHERE ...' at line 1
Ik heb al veel gevonden op het internet maar niet het juiste.
Dit is mijn code:
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
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
<?php
//Inladen van de instellingen.
include '../instellingen.php';
$conn = new mysqli($database_adres, $database_login_naam, $database_login_wachtwoord, $database_naam);
//connectie testen
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$Nummer=mysqli_real_escape_string($conn,$_POST['Nummer'];
$Naam=mysqli_real_escape_string($conn,$_POST['Naam'];
$VNaam=mysqli_real_escape_string($conn,$_POST['Voornaam'];
$gebdat=mysqli_real_escape_string($conn,$_POST['Geboortedatum'];
$gebpl=mysqli_real_escape_string($conn,$_POST['Geboorteplaats'];
$overldat=mysqli_real_escape_string($conn,$_POST['Overlijdensdatum'];
$overlpl=mysqli_real_escape_string($conn,$_POST['Overlijdensplaats'];
$Type=mysqli_real_escape_string($conn,$_POST['Type'];
$BS=mysqli_real_escape_string($conn,$_POST['BS'];
$Naam2=mysqli_real_escape_string($conn,$_POST['Naam2'];
$VNaam2=mysqli_real_escape_string($conn,$_POST['Voornaam2'];
$opmerk=mysqli_real_escape_string($conn, $_POST['Opmerking']);
$sql = "UPDATE `rouwbriefnieuw` SET `Naam`= $Naam,`Voornaam`=$VNaam,`geb.datum`=$gebdat,`GebGemeente`=$gebpl ,`overl.datum`=$overldat,`OverlGemeente`=$overlpl,`Type`=$Type,`BS`=$BS,`Naam2`=$Naam2,`VNaam2`=$VNaam2,`Opmerking`= $opmerk WHERE `IDR`=$Nummer ";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
// Sluit de MySQL verbinding.
$conn->close();
?>
//Inladen van de instellingen.
include '../instellingen.php';
$conn = new mysqli($database_adres, $database_login_naam, $database_login_wachtwoord, $database_naam);
//connectie testen
if (!$conn) {
die("Connection failed: " . mysqli_connect_error());
}
$Nummer=mysqli_real_escape_string($conn,$_POST['Nummer'];
$Naam=mysqli_real_escape_string($conn,$_POST['Naam'];
$VNaam=mysqli_real_escape_string($conn,$_POST['Voornaam'];
$gebdat=mysqli_real_escape_string($conn,$_POST['Geboortedatum'];
$gebpl=mysqli_real_escape_string($conn,$_POST['Geboorteplaats'];
$overldat=mysqli_real_escape_string($conn,$_POST['Overlijdensdatum'];
$overlpl=mysqli_real_escape_string($conn,$_POST['Overlijdensplaats'];
$Type=mysqli_real_escape_string($conn,$_POST['Type'];
$BS=mysqli_real_escape_string($conn,$_POST['BS'];
$Naam2=mysqli_real_escape_string($conn,$_POST['Naam2'];
$VNaam2=mysqli_real_escape_string($conn,$_POST['Voornaam2'];
$opmerk=mysqli_real_escape_string($conn, $_POST['Opmerking']);
$sql = "UPDATE `rouwbriefnieuw` SET `Naam`= $Naam,`Voornaam`=$VNaam,`geb.datum`=$gebdat,`GebGemeente`=$gebpl ,`overl.datum`=$overldat,`OverlGemeente`=$overlpl,`Type`=$Type,`BS`=$BS,`Naam2`=$Naam2,`VNaam2`=$VNaam2,`Opmerking`= $opmerk WHERE `IDR`=$Nummer ";
if (mysqli_query($conn, $sql)) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . mysqli_error($conn);
}
// Sluit de MySQL verbinding.
$conn->close();
?>
Iemand een oplossing?
Je moet je variabelen in je wuery ook tussen single quotes zetten. Anders helpt die escaping ook niet echt.
Wat enters in je query zijn ook niet overbodig. ;-)
Wat enters in je query zijn ook niet overbodig. ;-)
Zoals Arien zegt.. en die backticks heb je ook niet nodig zolang je geen gereserveerde MYSQL woorden gebruikt voor je tabel en kolomnamen.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$sql = "UPDATE rouwbriefnieuw SET
Naam='" . $Naam . "',
Voornaam='" . $VNaam . "',
geb.datum='" . $gebdat . "',
GebGemeente='" . $gebpl . "',
overl.datum='" . $overldat . "',
OverlGemeente='" . $overlpl . "',
Type='" . $Type . "',
BS='" . $BS . "',
Naam2='" . $Naam2 . "',
VNaam2='" . $VNaam2 . "',
Opmerking='" . $opmerk . "'
WHERE IDR='" . $Nummer . "'";
?>
$sql = "UPDATE rouwbriefnieuw SET
Naam='" . $Naam . "',
Voornaam='" . $VNaam . "',
geb.datum='" . $gebdat . "',
GebGemeente='" . $gebpl . "',
overl.datum='" . $overldat . "',
OverlGemeente='" . $overlpl . "',
Type='" . $Type . "',
BS='" . $BS . "',
Naam2='" . $Naam2 . "',
VNaam2='" . $VNaam2 . "',
Opmerking='" . $opmerk . "'
WHERE IDR='" . $Nummer . "'";
?>
Gewijzigd op 16/10/2021 12:21:44 door Frank Nietbelangrijk
- Ariën - op 15/10/2021 09:07:37:
Wat enters in je query zijn ook niet overbodig. ;-)
Wat enters in je query zijn ook niet overbodig. ;-)
Sorry, ik ben nog altijd maar een leerling, wat bedoel je daarmee? Ik heb graag een voorbeeld. Een voorbeeld zegt meer dan duizend woorden :-).
En backticks wat zijn dat?
Backticks zijn dit: `
En enters... Kijk maar naar de leesbaarheid van Frank zijn query. ;-)
En enters... Kijk maar naar de leesbaarheid van Frank zijn query. ;-)
Zijn die dingetje voor en achter de veldnamen
Kwam er achter door dit te doen.
https://www.google.com/search?q=mysql+backticks+meaning
Code (php)
1
$sql = "UPDATE `rouwbriefnieuw` SET `Naam`= $Naam,`Voornaam`=$VNaam,`geb.datum`=$gebdat,`GebGemeente`=$gebpl ,`overl.datum`=$overldat,`OverlGemeente`=$overlpl,`Type`=$Type,`BS`=$BS,`Naam2`=$Naam2,`VNaam2`=$VNaam2,`Opmerking`= $opmerk WHERE `IDR`=$Nummer ";
Kwam er achter door dit te doen.
https://www.google.com/search?q=mysql+backticks+meaning
Dank u jullie allemaal. Ondertussen had ik het begrepen. Een paar dagen vakantie en jullie tips hebben wonderen gedaan samen met een extra foutje dat ik ontdekt heb.
Gewijzigd op 17/10/2021 18:50:58 door Ignace Verschaeve




