Insertion html data to bdd

Fermé
arkal221 Messages postés 32 Date d'inscription mercredi 30 mars 2016 Statut Membre Dernière intervention 31 juillet 2017 - 31 juil. 2017 à 16:59
jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 1 août 2017 à 10:42
Bonjour la famille voici la structure de ma table :
<div>
    <table>
        <tr>
            <td>EmpId</td>
            <td>Ename</td>
            <td>Dept</td>
            <td>Salary</td>
        </tr>
        <tr>
            <td>1000</td>
            <td>Arun</td>
            <td>Civil</td>
            <td>10000</td>
        </tr>
        <tr>
            <td>1001</td>
            <td>Kiran</td>
            <td>Accounts</td>
            <td>5000</td>
        </tr>
    </table>
    <input id="btnadd" type="button" value="AddNewRecords" />
</div> 

j'aimerai que lorsque je clique sur le bouton addnewrecords que s'enregistre dans ma bdd :

mon code Ajax est là :

<script>
$(function () {
$("#btnadd").click(function () {
var n = $("table").find("tr").length;

for (var i = 1; i < n; i++) {
var Id = $("table").find("tr").eq(i).find("td").eq(0).text();
var name = $("table").find("tr").eq(i).find("td").eq(1).text();
var dept = $("table").find("tr").eq(i).find("td").eq(2).text();
var salary = $("table").find("tr").eq(i).find("td").eq(3).text();

//alert(salary);
$.ajax({
type: "Post",
url: "default.aspx/Insert",
data: "{'EmpId':" + Id + ",'Ename':'" + name + "','Dept':'" + dept + "','Salary':" + salary + "}",

contentType: "application/json; charset=utf-8",
dataType: "json",
success: function () {
//alert("complete");
},
error: function (err) {
alert(err);
}
})
})
</script>

mon code php est là :
include 'connect.php';
   mysql_set_charset('utf8');
   //query for insert data into tables

   $ID = $_POST['EmpId'];
   $NAME =$_POST['Ename'];
   $Dept=$_POST['Dept'];
   $Salary=$_POST['Salary'];

     $insert = $bdd->prepare('
                  INSERT INTO user_table (NAME,Dept,Salary) VALUES(:NAME, :Dept, :Salary)
                  ');
                  $insert->execute(array(
                    'NAME' => htmlspecialchars($NAME),
                    'Dept' => htmlspecialchars($Dept),
                    'Salary' => htmlspecialchars($Salary),
                    ));	
					 if ($insert)
          { 
                echo 'It is working';
          }

mais ça n'insère rien dans ma base de données quelqu'un pourrait m'aider à retrouver mon erreur??? Svp!!!
A voir également:

2 réponses

yg_be Messages postés 23342 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 21 novembre 2024 Ambassadeur 1 550
1 août 2017 à 09:58
bonjour, n'est-ce pas la même discussion que Insertion données tableau html dans la bdd avec PDO, qui est toujours ouverte ?
0
jordane45 Messages postés 38308 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
1 août 2017 à 10:42
Bonjour,

@ yg_be .. oui... c'est très certainement la même chose....


@arkal221 : Je m'arrache les cheveux en lisant ton code ....

Que viennent faire les "htmlspecialchar" lors de l'insertion en BDD ??? .. cette fonction ne doit être utilisée QUE POUR L'AFFICHAGE !

Que vient faire ici l'instruction
mysql_set_charset('utf8');
.... si tu utilises PDO.. tu ne dois plus avoir de lignes de code utilisant l'extension mysql_*

Où sont les blocs TRY/CATCH qui devraient entourer tes requêtes SQL ?
Applique ceci : https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs ( et ENTIÈREMENT cette fois !!! )

Une fois ces quelques corrections effectuées .. reviens nous voir avec ton code modifié.



0