[RESOLU] Script php changer valeur dans base mysql

Petit nouveau ! | 7 Messages

22 mars 2016, 19:51

Bonjour,

Je galère pour écrire un script qui permet dans un formulaire de changer le contenu d'un champ texte dans la base mysql.

Voila le script que j'utilise, mais je suis un peu perdu dans les fonctions.

Débutant PHP, je ne sais pas si c'est la bonne méthode?? :?

J'ai une table "billets" qui contient un champ : id un champ: titre, un champ: contenu, un champ: date_creation.

Mon formulaire ne fonctionne pas : j'ai ce message d'erreur... PDOStatement::bindValue() expects at least 2 parameters que je ne comprend pas.

Comme noté je ne sais pas quoi mettre dans le champ imput value??

Code : Tout sélectionner

if(isset($_POST['submit'])) { $contenu = $_POST['contenu']; $query = $bdd->prepare("UPDATE billets SET contenu = :contenu WHERE id = " .$donnees['id']); $query->bindValue(':contenu, $contenu'); $query->execute(); } ?> <form action="" method="post"> <input type="text" value="??? quoi mettre dans le champ value"/> <input type="submit" name="submit" value="Valider" /> </form> <?php $req->closeCursor(); ?>
Merci d'avance.

Mammouth du PHP | 2703 Messages

22 mars 2016, 19:55

$query->bindValue(':contenu', $contenu);

Petit nouveau ! | 7 Messages

22 mars 2016, 20:05

Merci or 1 pour la correction.

En fait le problème vient aussi du fait que quand je ne sais pas vers ou envoyer mon formulaire. Je sais c'est des questions bêtes mais c'est ça aussi qui fait bugger le code.

Mammouth du PHP | 2703 Messages

22 mars 2016, 20:23

<form action="nomduscript.php" method="post">

<input type="text" name="contenu" value="??? quoi mettre dans le champ value"/>

Petit nouveau ! | 7 Messages

22 mars 2016, 23:49

Bonsoir,

En fait je comprend pas, je dois envoyer sur une page php contenant mon code de mise à jour de mysql?

Séparer les scripts en

exemple modifyscript :

Code : Tout sélectionner

<?php if(isset($_POST['submit'])) { $contenu = $_POST['contenu']; $query = $bdd->prepare("UPDATE billets SET contenu = :contenu WHERE id = " .$donnees['id']); $query->bindValue(':contenu, $contenu'); $query->execute(); } ?> code formulaire

Code : Tout sélectionner

<form action="modifyscript.php" method="post"> <textarea form ="contenu" name="billet" id="one" cols="35" wrap="soft"></textarea> <input type="submit" name="submit" value="Valider" /> </form>
Merci d'avance de votre aide.

Bonne soirée.

Petit nouveau ! | 7 Messages

23 mars 2016, 16:07

Probléme résolu, voila mon script.

<?php
$bdd = new mysqli("localhost", "root", "", "login");
if (mysqli_connect_errno()) {
    echo("
<p>
    Echec de la connexion avec la base de données.
</p>");
    exit();
}



if(isset($_POST["submit"]))
{
   $contenu = utf8_encode($_POST["contenu"]);
   $query = "UPDATE billets SET contenu = ?";
   $stmt = $bdd -> prepare($query);
   $stmt -> bind_param ("s", $contenu);
   $stmt -> execute();
   $stmt -> close();
  }
   $bdd -> close();

    echo("
<p>
    modifications de la base ok.
</p>");

?>