J'ai ce morceau de code où j'essaie de mettre à jour certaines valeurs.
Je peux voir que je reçois toutes les données passées de mon appel Ajax qui est ... qui redirige ou appelle la page PHP 'update_details.php' via ajax,
Je peux voir l'alerte ("mise à jour !!") .. Cependant, la requête que j'ai validée dans phpmyadmin ne se fait pas d'être exécutée ...
Ceci est mon fichier: p> Je ne peux pas comprendre ce que je fais mal. Quelqu'un peut-il aider?
Merci d'avance! P> p>
3 Réponses :
Vous avez manqué $ code> signe avant d'écrire
connect> requête ("Mise à jour code>. p>
L'alerte montre car le fichier PHP charge avec succès. Essayez ce qui suit:
$conn->query("UPDATE `project_details` SET `elements` = '$elem', `responsibilty` = '$respon', `coordinator` = '$coord', `total_level` = '$total', `sub_status` = '$submt', `del_status` = '$delv' WHERE `project_details`.`detail_id` = '$did';") or die($con->error);
Dans mon expérience personnelle, ce que je fais lorsque j'envoie via Ajax, est-ce que je suis d'abord écho aux données que j'ai envoyées, si cela ne montre pas, alors il y a quelque chose qui ne va pas avec le script.
Cela fonctionnera:
$conn->query("UPDATE project_details SET elements = '$elem', responsibilty = '$respon', coordinator = '$coord', total_level = '$total', sub_status = '$submt', del_status = '$delv' WHERE project_details.detail_id = '$did';");
PHP n'a pas de problèmes avec ``, j'ai d'autres fichiers PHP avec le même format fonctionnant parfaitement bien .. @Richard Socker. Il semble être autre chose, mais je vais essayer ce que vous avez suggéré de me suggérer et je me mettra à jour ici ..
Alors, quel était le problème?
Vous avez quelques questions ici, que l'on échoue? Quelle est la réponse du serveur? Quelles sont les valeurs d'exécution des requêtes réelles exécutées?
Il y a une erreur:
conn-> requête ("update projet_details code> doit commencer par
$ code>. Activez le rapport d'erreur. Assurez-vous également que vous n'avez pas besoin d'appeler
- > Exécuter () code> sur vos requêtes
Voir sur l'injection SQL et l'importance des requêtes préparées et liées
Désolé pour la typo $ .. Son erreur de copie ... @ Justinas. La requête de mise à jour ne fonctionne pas réellement @david
@ Vishnuprasad.r: Comment savez-vous que ce n'est pas en cours d'exécution? Vous n'uexions jamais son résultat. Cela pourrait produire une erreur et vous ne le sauriez pas. Votre code est grand ouvert à l'injection SQL afin que vous ne sachiez même pas quelle requête vous exécutez. Examinez la valeur d'exécution de la requête que vous exécutez et testez-la directement. Examinez également le résultat de la requête et vérifiez les erreurs MySQL.
@David pouvez-vous m'aider avec la partie d'injection SQL ...
@ Vishnuprasad.r: Stackoverflow.com/Questtions/60174/...
@David, je ne peux voir que non de la mise à jour se produire dans la DB même si les valeurs sont correctes.