Je reçois l'erreur '1' à la ligne 1, je suis un peu perplexe avec celui-ci; Je suis un noob complet et essaye habituellement de corriger les choses sans demander de l'aideErreur de syntaxe MySQL: près de '1' à la ligne 1
Il entre correctement toutes les données dans le db, mais offre cette erreur.
Il y a quelques autres threads avec la même question, la solution à l'un était: "C'est la raison pour laquelle l'erreur est apparue: vous avez essayé d'appeler mysql_query avec le résultat de la dernière requête de mise à jour. String, juste '1'. "
$title = mysqli_real_escape_string($con, $_POST['title']);
$firstname = mysqli_real_escape_string($con, $_POST['firstname']);
$lastname = mysqli_real_escape_string($con, $_POST['lastname']);
$jobtitle = mysqli_real_escape_string($con, $_POST['jobtitle']);
$address = mysqli_real_escape_string($con, $_POST['address']);
$address2 = mysqli_real_escape_string($con, $_POST['address2']);
$address3 = mysqli_real_escape_string($con, $_POST['address3']);
$postcode = mysqli_real_escape_string($con, $_POST['postcode']);
$telephone = mysqli_real_escape_string($con, $_POST['telephone']);
$email = mysqli_real_escape_string($con, $_POST['email']);
(je sais que je devrais vraiment faire une déclaration préparée)
$sql = mysqli_query($con, "UPDATE users SET title='$title', firstname='$firstname', lastname='$lastname', jobtitle='$jobtitle', address='$address', address2='$address2', address3='$address3', postcode='$postcode', telephone='$telephone', email='$email' WHERE username='$user'");
if (!mysqli_query($con,$sql)) {
$result_array = mysql_fetch_assoc($qStuff);
die('Error: ' . mysqli_error($con));
}
Vous exécutez la requête et mettre le résultat dans $ sql, puis vous exécutez ce résultat – Kickstart
Ne pas mélanger les appels à 'mysqli _ *()' avec des appels à 'mysql _ *()' - les deux ne sont pas compatibles. 'UPDATE' ne retourne pas un ensemble de résultats. Enfin, vous utilisez $ qStuff mais il n'est initialisé nulle part. –
Il est bon que vous vous souveniez d'échapper de manière appropriée vos données d'entrée, mais une solution encore meilleure et plus propre serait d'utiliser des déclarations préparées. Hélas, je ne suis pas assez familier avec MySQLi pour dire exactement comment cela devrait être fait, mais cela devrait suffire à vous aider dans votre recherche. – glglgl