Ik heb een website gemaakt maar ik wil een user updaten in mysql maar hij weigert om de user te updaten
mijn code:

<?php
$userId = $_POST["userId"];
$userLoginNaam = $_POST["userLoginNaam"];
$userFullNaam = $_POST["userFullNaam"];
$userEmail = $_POST["userEmail"];
$userType = $_POST["userType"];
$userActivated = $_POST["userActivated"];
$sql = "UPDATE `Users` SET `userLoginNaam`=" . $userLoginNaam . ",`userFullNaam`=" . $userFullNaam . ",`userEmail`=" . $userEmail . ",`userType`=" . $userType . ",`userActivated`=" . $userActivated . " WHERE `userId`=" . $userId;

if ($conn->query($sql) === TRUE) {
	echo "<script> window.alert('De user is aangepast'); </script>";
    echo "<script> location.href('http://kingdomserver.000webhostapp.com/admin/users'); </script>";

} else {
    echo "<script> window.alert('Sorry Het is niet gelukt om de user aan te passen'); </script>";
    echo "<script> location.href('http://kingdomserver.000webhostapp.com/admin/users/change/?userId=". $_SESSION["ui"] ."'); </script>";
}
?>

Welkom op PHPhulp.

We hebben we ook code-tags op het forum om je code leesbaar in te plaatsen. Zie ook de Veelgestelde vragen! Een duidelijk onderwerptitel die je probleem omschrijft zien we ook erg graag.

Verder ben ik benieuwd wat er precies gebeurt.
- Welke melding zie je?
- Wat is je invoer, en echo daarom eens voor het uittesten je $sql. Deze kan je dan e.v.t. ook aan je MySQL client voeren zoals phpMyAdmin of HeidiSQL.

Tevens raad ik met klem aan om je invoer te escapen met $conn->real_escape_string(). Je bent nu vatbaar voor SQL-injection en verminking van je query bij bepaalde tekens.
ik heb gevonden wat ik fout heb gedaan, ik was de '' vergeten bij de values
Verder zijn de backquotes `` ook niet nodig.
Het is niet geldige SQL wat MySQL/mariaDB wel accepteert. Maar het beste is om ervoor te zorgen dat je geen namen gebruikt die conflicteren met de functies van de DBMS. Uiteraard is ook de escaping van zeer groot belang.

Reageren