hallo allemaal,
ik gebruik al een tijdje een script maar sinds vanochtend kreeg ik een melding van een klant dat
zijn voornaam opeens een 0 is geworden,
ik snap zelf niet hoe het kan dit is mijn script:

$voorn   = mysqli_real_escape_string($con, filter($_POST['voornaam']));
$achte = mysqli_real_escape_string($con, filter($_POST['achternaam']));
$email   = mysqli_real_escape_string($con, filter($_POST['email']));
$update  = "UPDATE users SET voornaam='$voorn' AND achternaam='$achte' AND email='$email' WHERE id='$id'";
$run     = mysqli_query($con, $update);
if($run != true)
{
     echo '<div class="gelukt" style="background-color: red;">Error: ' .   mysqli_error($con) . '!</div>';
}
else
{
     echo '<div class="gelukt">Uw gegevens succesvol opgeslagen!</div>';                                   
}

ik heb hem getest en de variablen geecho't dit kwam er uit:
$_POST[voornaam] is "christian" en geen 0
$voorn is ook gewoon "christian"
$update = "UPDATE users SET voornaam='christian' AND achternaam='test' AND email='test' WHERE id='1'";
maar toch krijg ik een 0 in de database.
dit heb ik in phpmyadmin uitgevoert:

UPDATE users SET voornaam='christian' AND achternaam='test' AND email='test' WHERE id='1'

ik krijg geen error te zien maar toch staat er geen christian maar een 0 weet iemand hoe dat kan?
Wat voor type is database veld? Int of dergelijke?
Is het datatype van de kolom voornaam nog wel juist?
voornaam TEXT NOT NULL
maak daar eens varchar 75 van. Voornaam is geen tekst
er blijft een 0 komen bij het uitvoeren van de update sql
maar het raare is dat het sinds vanochtend niet meer werkt
Kun je eens een dump maken van de database tabel users?
wat bedoel je met een dump?
SET ... AND ...

Je bent niet aan het uodaten maar aan het vergelijken. En een false geeft een 0.

Het is SET ... = ... KOMMA ... = ...
UPDATE users SET voornaam='christian', achternaam='test', email='test' WHERE id='1'
maar nu werkt het nog niet.

Reageren