Je veux mettre à jour une même colonne dans toutes les lignes d'un tableau. Quelqu'un peut-il m'aider à mettre à jour le tableau? il n'y a qu'un seul champ de saisie qui devrait mettre à jour la valeur de toutes les lignes. ce code ne fonctionne pas et je sais qu'il y a quelque chose de mal dans l'index et le tableau.
<?php
<form method="post" dir="rtl" name="maxcharfield" >
<textarea onKeyDown="textCounter(this,'progressbar1',300)"
onKeyUp="textCounter(this,'progressbar1',300)"
onFocus="textCounter(this,'progressbar1',300)"
style="font-family:'B_yekan';" id="text" name="text" rows="0" cols="0" class="required"></textarea>
<div class="cleaner h10"></div>
<div style="font-family:'B_yekan';" dir="rtl" id="progressbar1" class="progress" ></div>
<script>textCounter(document.getElementById("maxcharfield"),"progressbar1",100)</script>
<input class="styled-button-8" style="margin-top:10px; float:right; margin-right:50px; font-size: 14px; padding: 5px 14px;" type="submit" value="save" name="Submit" />
<input style="font-family:'B_yekan';" type="reset" value="reset" id="reset" name="reset" class="submit_btn float_l" />
</form>
<?php
// for updating Check if button name "Submit" is active, do this
if(isset($_POST['Submit']) && $_POST['Submit'] == 'save')
{
$sql1="UPDATE `".$tbl_name."` SET `board`='".$_REQUEST['text']."' ";
$result1=mysql_query($sql1);
}
}
?>
Vous compliquez trop la solution. Afin de mettre à jour chaque enregistrement, l'approche que vous essayez d'adopter est la suivante:
La syntaxe UPDATE
a un moyen beaucoup plus simple de le faire. Vous n'avez pas besoin de fournir une clause WHERE
à une instruction UPDATE
. Sans cette clause, il mettra à jour par défaut chaque enregistrement de la table:
UPDATE TableName SET `board`='value'
Aussi , veuillez noter que vous avez une vulnérabilité injection SQL dans votre code. En utilisant $_REQUEST['text']
Directement dans votre requête SQL, vous autorisez tout utilisateur à envoyer du code SQL à votre requête. Votre code exécute ensuite tout ce qu'il vous envoie. Cela pourrait leur permettre de corrompre ou de supprimer vos données, voire d'obtenir un accès administratif à votre serveur.
Pour commencer, veuillez cesser d'utiliser les fonctions mysql_*
. PHP a déprécié ceux-ci et ils ne devraient plus être utilisés. Il y a n remplacement mysqli_
pour eux. En plus de cela, utilisez la fonction mysqli_real_escape_string()
pour nettoyer vos entrées avant de les utiliser dans une requête SQL. Enfin, utilisez instructions préparées au lieu de concaténer directement les valeurs dans votre chaîne SQL.