PHP de mise à JOUR de l'instruction préparée

Salut, je suis en train d'apprendre la bonne façon d'utiliser des déclarations préparées à l'avance pour éviter les injections SQL etc.

Lorsque j'exécute le script, je reçois un message de mon script dire 0 Lignes Insérées, je m'attends à-dire 1 les Lignes Insérées et des cours de mise à jour de la table. Je ne suis pas entièrement sûr sur ma déclaration préparée à l'avance, comme je l'ai fait quelques recherches et je veux dire qu'il varie d'un exemple à l'autre.

Quand je suis à jour ma table, j'ai besoin de déclarer tous les champs ou est-ce ok pour mettre à jour un champ??

Toute information serait très utile.

index.php

<div id="status"></div>

    <div id="maincontent">
    <?php //get data from database.
        require("classes/class.Scripts.inc");
        $insert = new Scripts();
        $insert->read();
        $insert->update();?>

       <form action="index2.php" enctype="multipart/form-data" method="post" name="update" id="update">
              <textarea name="content" id="content" class="detail" spellcheck="true" placeholder="Insert article here"></textarea>
        <input type="submit" id="update" name="update" value="update" />
    </div>

classes/classe.Les Scripts.inc

public function update() {
    if (isset($_POST['update'])) {
                    $stmt = $this->mysqli->prepare("UPDATE datadump SET content=? WHERE id=?");
                    $id = 1;
                    /* Bind our params */                           
                    $stmt->bind_param('is', $id, $content);
                    /* Set our params */
                    $content = isset($_POST['content']) ? $this->mysqli->real_escape_string($_POST['content']) : '';

                /* Execute the prepared Statement */
                        $stmt->execute();
                                    printf("%d Row inserted.\n", $stmt->affected_rows);

                                }                   
                            }
Avez-vous l'essayer pour voir ce qui se passe?
real_escape_string() n'est pas nécessaire pour les instructions préparées
Dans votre SQL, le premier paramètre est le contenu et la deuxième est l'ID. Lorsque vous appelez bind_param, vous avez inversé l'ordre - essayez d'échanger l'ordre autour de dans bind_param
J'ai essayé et cela n'a pas d'effet de la table
votre droit! merci pour cette!

OriginalL'auteur 001221 | 2013-08-19