0
votes

La page PHP fonctionne avec succès, mais la requête MySQL ne fonctionne pas

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 ... xxx

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: xxx

Je ne peux pas comprendre ce que je fais mal. Quelqu'un peut-il aider? Merci d'avance!


8 commentaires

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 doit commencer par $ . Activez le rapport d'erreur. Assurez-vous également que vous n'avez pas besoin d'appeler - > Exécuter () 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.


3 Réponses :


0
votes

Vous avez manqué $ signe avant d'écrire connect> requête ("Mise à jour .


0 commentaires

0
votes

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);


1 commentaires

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.



0
votes

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';"); 


2 commentaires

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?