[ad_1]
Mon erreur lorsque j’essaye de changer le nom :
Erreur fatale : mysqli_sql_exception non interceptée : vous avez une erreur dans votre syntaxe SQL ; consultez le manuel qui correspond à la version de votre serveur MariaDB pour connaître la bonne syntaxe à utiliser près de « WHERE userId = 2 » à la ligne 1 dans C:\xampp\htdocs\login2\includes\functions.inc.php:148 Trace de pile : #0 C:\xampp\htdocs\login2\includes\functions.inc.php(148) : mysqli->query(‘UPDATE users2 S…’) #1 C:\xampp\htdocs\login2\includes\editfac.inc .php(23) : updateFacName(Object(mysqli), ‘2’, ‘Min, Shan’) #2 {main} lancé dans C:\xampp\htdocs\login2\includes\functions.inc.php à la ligne 148
Mon erreur lorsque j’essaie de changer le nom d’utilisateur :
Erreur fatale : mysqli_sql_exception : colonne inconnue “shan” dans la “liste de champs” dans C:\xampp\htdocs\login2\includes\functions.inc.php:167 Trace de pile : #0 C:\xampp\htdocs\login2\includes \functions.inc.php(167) : mysqli->query(‘UPDATE users2 S…’) #1 C:\xampp\htdocs\login2\includes\editfac.inc.php(26) : updateUsername(Object( mysqli), ‘1’, ‘shan’) #2 {main} lancé dans C:\xampp\htdocs\login2\includes\functions.inc.php à la ligne 167
Mon code dans include/function.inc.php :
<?php function emptyInputEditFac($facid, $name, $username) { $result; if (empty($facid) && empty($name) && empty($username)) { $result = true; } else { $result = false; } return $result; } function updateFacId($conn, $userid, $facid) { $sql = "UPDATE users2 SET facId = $facid WHERE userId = $userid;"; if ($conn -> query($sql) === TRUE) { echo "Record updated successfully"; header("location: ../faculty.php"); exit(); } else { phpalert("Error updating record: " . $conn->error); header("location: ../faculty.php"); exit(); } } function updateFacName($conn, $userid, $name) { $sql = "UPDATE users2 SET name = $name WHERE userId = $userid;"; if ($conn -> query($sql) === TRUE) { echo "Record updated successfully"; header("location: ../faculty.php"); exit(); } else { echo("Error updating record: " . $conn->error); header("location: ../faculty.php"); exit(); } } function updateUsername($conn, $userid, $username) { $sql = "UPDATE users2 SET username = $username WHERE userId = $userid;"; if ($conn -> query($sql) === TRUE) { echo "Record updated successfully"; header("location: ../faculty.php"); exit(); } else { phpalert("Error updating record: " . $conn->error); header("location: ../faculty.php"); exit(); } }
Mon code dans include/editfac.inc.php :
<?php if (isset($_POST['submit'])) { $userid = $_POST["userid"]; $facid = $_POST["facid"]; $name = $_POST["name"]; $username = $_POST["username"]; require_once 'dbh.inc.php'; require_once 'functions.inc.php'; if (emptyInputEditFac($facid, $name, $username) !== false) { header("location: ../faculty.php?change=nochange"); exit(); } else { if (!empty($facid)) { updateFacId($conn, $userid, $facid); } if (!empty($name)) { updateFacName($conn, $userid, $name); } if (!empty($username)) { updateUsername($conn, $userid, $username); } exit(); } } else { header("location: ../faculty.php"); exit(); }
Mon code dans editfac.php :
<section class = "form-sec"> <div class = "form-div"> <form id="editfac-form" action="includes/editfac.inc.php" method="post"> <?php if (isset($_POST['user-id'])) { $userId = $_POST['user-id']; echo "<input type='hidden' name='userid' value='".$userId."'/>"; } ?> <input type="number" name="facid" placeholder="Faculty ID Number"> <input type="text" name="name" placeholder="Lastname, Firstname MI."> <input type="text" name="username" placeholder="Username"> <button type="submit" name="submit">Update</button> </form> </div> </section>
La fonction updateFacId() fonctionne correctement pour une raison quelconque.
Ce que j’ai essayé :
J’ai recherché l’erreur dans Google, mais je n’ai pas compris grand-chose.
Solution 1
C:\xampp\htdocs\login2\includes\editfac.inc.php(23): updateFacName(Object(mysqli), '2', 'Min, Shan') #2 {main} thrown in
Vous avez besoin de guillemets autour du nom d’utilisateur transmis, en raison de la virgule dans le nom. L’utilisation de requêtes paramétrées correctement éviterait de tels problèmes. Cependant, je soupçonne que “Min, Shan” n’est pas un nom d’utilisateur valide.
[ad_2]
コメント