0
votes

Base de données SQL ne mettant pas à jour les données dans PHP

J'essaie de mettre à jour des données de ma base de données, mais rien que j'ai essayé / trouvé a été de succès pour moi. Il n'y a aucune erreur ni rien, littéralement rien ne se passe. La page se recharge mais elle ne stocke rien dans la base de données. Comment puis-je résoudre ce problème?

Le code: xxx


0 commentaires

3 Réponses :


0
votes

Lorsque vous utilisez des guillemets simples '' avec une variable, PHP le comprend comme une chaîne non variable. Vous pouvez donc vouloir modifier votre instruction de mise à jour sur xxx

ou alternativement xxx

Cependant, ce n'est pas le moyen standard de faire des choses, et Invitez les injections SQL, vous ferez mieux d'utiliser PDO ou un autre mécanisme pour le rendre plus sécurisé. https://www.w3schools.com/sql/sql_inject.asp


3 commentaires

Cette réponse favorise la création d'énoncés SQL via une concaténation de chaînes, qui est enclin à l'erreur et active les attaques de type d'injection SQL. Suivez ce conseil que si cela ne vous dérange pas que votre site Web soit piraté!


@Shadow Réponse modifiée.


Ne le rend pas mieux.



1
votes

Vous souhaitez utiliser la classe PDO que vous avez définie là-bas au lieu de $ Conn (qui n'est pas défini), peut aussi bien mettre les variables entre crochets pour vous assurer qu'ils sont interprétés correctement, si vous utilisez un littéral à chaîne. XXX PRE>

Également, comme il se tient maintenant, ce n'est pas une déclaration préparée appropriée. Vous devez utiliser Binkparam fonction comme sur le poste de mise à jour initial. P>

Voici comment il ressemblerait comme une déclaration préparée appropriée. P>

$updateBookRecord = "UPDATE books SET episodes=:episode WHERE id=:book_id";
$UpdateBook = $obd->prepare($updateBookRecord);
$UpdateBook->bindParam(':episode',$episode,PDO::PARAM_INT);
$UpdateBook->bindParam(':book_id',$book_id,PDO::PARAM_INT);
$UpdateBook->execute();


0 commentaires

0
votes

Une mise à jour peut mettre à jour avec succès 0 rangées. Je triple que vous vérifiez votre clause où voir s'il tente de faire correspondre des lignes existantes.


0 commentaires