如何使用AngularJS和php后端插入到表中

如何使用AngularJS和php后端插入到表中,php,mysql,sql,angularjs,Php,Mysql,Sql,Angularjs,我有一个视图,其中客户端的数据从一个表“clienttte”显示,该表由一个数组显示,对于属于每个客户端的每一行,我有一个“add”按钮,该按钮必须将每个客户端添加到另一个表“client”,当我尝试此代码时,它会生成以下错误:未定义属性“code”,请问错误在哪里 register.html <div class="padding" ng-controller="RegisterCtrl" ng-init="loadClient1()"> <a class="button

我有一个视图,其中客户端的数据从一个表“clienttte”显示,该表由一个数组显示,对于属于每个客户端的每一行,我有一个“add”按钮,该按钮必须将每个客户端添加到另一个表“client”,当我尝试此代码时,它会生成以下错误:
未定义属性“code”
,请问错误在哪里

register.html

<div class="padding" ng-controller="RegisterCtrl" ng-init="loadClient1()">

<a class="button button-info"  href="#/ajoutClient" style="background-color:#6EB4DC;float:right">Ajouter un client</a>
<table>
<tr>
          <th>Code.Client</th>
          <th>Nom</th>
          <th>Prenom</th>
          <td>Ajouter</td>
</tr>

<tr ng-repeat="x in names">
          <td ng-model="code">{{x.CodeClient}} </a> </td>
          <td ng-model="nom">{{x.NomClient}}       </td>
          <td ng-model="prenom">{{x.PrenomClient}}</td> >
          <td><a class="button button-info" ng-click="insertClient()" >Ajouter</a> </td>        
</tr>
</table>
insertClient.php

 <?php  

 $connect = mysqli_connect("localhost", "root", "", "test");  

 $data = json_decode(file_get_contents("php://input"));  
 if(count($data) > 0)  
 {    $CodeClient=mysqli_real_escape_string($connect,$data->code);
      $NomClient = mysqli_real_escape_string($connect, $data->nom); 
      $PrenomClient = mysqli_real_escape_string($connect, $data->prenom); 

      $query = "INSERT INTO client (NomClient,PrenomClient) VALUES 
      ('$NomClient','$PrenomClient') WHERE   CodeClient='$CodeClient'"; 

      if(mysqli_query($connect, $query))  
      {  
           echo "The client has been successfully added";  
      }  
      else  
      {  
           echo 'Error';  
      }  
 }  
 ?>

没有
插入到。。。其中
语法。您要做的是
UPDATE..SET..WHERE

$query = "UPDATE client  
  SET NomClient ='$NomClient' ,PrenomClient = '$PrenomClient'
  WHERE   CodeClient='$CodeClient'"; 
正如我在评论中所建议的:


使用准备好的语句而不是mysqli\u real\u escape\u string来防止SQL注入。

没有插入到。。。其中
语法。您要做的是
UPDATE..SET..WHERE

$query = "UPDATE client  
  SET NomClient ='$NomClient' ,PrenomClient = '$PrenomClient'
  WHERE   CodeClient='$CodeClient'"; 
正如我在评论中所建议的:


使用准备好的语句而不是mysqli\u real\u escape\u string来阻止SQL注入。

我提交以下内容,因为您没有回复我在您的问题下留下的评论。如果您在发帖期间留下问题,您可以阅读以下内容:


看到标题“How to insert to a table”(如何插入到表中),您似乎想要插入一条新记录

您的“客户ajoutéavec success”是法语,意思是“客户已成功添加”,这也表明您希望插入新记录

  • 编辑:在对问题进行更新之前,上述内容(法语)符合
没有
WHERE
子句,需要删除代码的该部分

但是,如果您希望继续使用INSERT,则存在以下问题

如果目标是更新现有记录,则需要使用“更新”:

使用
mysqli\u error($connect)
检查查询中的错误:


    • 我提交以下内容,因为您没有回复我在您的问题下留下的评论。如果您在发帖期间留下问题,您可以阅读以下内容:


      看到标题“How to insert to a table”(如何插入到表中),您似乎想要插入一条新记录

      您的“客户ajoutéavec success”是法语,意思是“客户已成功添加”,这也表明您希望插入新记录

      • 编辑:在对问题进行更新之前,上述内容(法语)符合
      没有
      WHERE
      子句,需要删除代码的该部分

      但是,如果您希望继续使用INSERT,则存在以下问题

      如果目标是更新现有记录,则需要使用“更新”:

      使用
      mysqli\u error($connect)
      检查查询中的错误:


      使用准备好的语句而不是
      mysqli\u real\u escape\u string
      来阻止SQL注入您想插入新记录还是更新现有记录?如果您想这样做,也可以这样做。由于不清楚,投票通过关闭。你留下问题了吗?编辑(ping),或者@Jens的答案都不能解决这个问题。您需要在答案下方添加评论,和/或在此处“ping”我们中的一位。就我个人而言,在等待更新/回复我的评论之前,我再也不能看这个问题了。注意:我撤回了投票以结束(因为不清楚),看到OP已经明确了他们想要做什么。使用准备好的语句而不是
      mysqli\u real\u escape\u string
      来阻止SQL注入您想插入新记录还是更新现有记录?如果您想这样做,您也可以这样做。投票结束,因为不清楚。你留下问题了吗?编辑(ping),或者@Jens的答案都不能解决这个问题。您需要在答案下方添加评论,和/或在此处“ping”我们中的一位。就我个人而言,我不能再等待更新/回复我的评论了。注意:我撤回了投票结束(因为不清楚),因为OP已经澄清了他们希望做什么。对。但是,OP声明:“它生成此错误:未定义的属性“代码”,这是不相关的。似乎与angular.有关,他们的标题是“如何插入表格”——对我来说,就是这个意思;他们似乎想要插入而不是更新。我在他们的问题下发表了一些评论,但他们似乎不在场。他们的“客户ajoutéavec success”是法语,意思是“客户已成功添加”,而不是“更新”。对。但是,OP声明:“它生成此错误:未定义的属性“代码”,这是不相关的。似乎与angular.有关,他们的标题是“如何插入表格”——对我来说,就是这个意思;他们似乎想要插入而不是更新。我在他们的问题下发表了一些评论,但他们似乎不在场。他们的“客户ajoutéavec success”是法语,意思是“客户已成功添加”,而不是“更新”。很抱歉迟到了,谢谢你的回答,我会按照你的建议更新我的问题,但我需要的是插入,而不是更新。因为我想将从“客户机”表中选择的数据插入到另一个“客户机”表中,而不是更新。感谢you@SalamSalam不客气。删除
      WHERE CodeClient='$CodeClient'
      ,正如我在回答中提到的,以及我写的所有其他内容。@SalamSalam但是,如果这是一个与角度相关的问题,我将无法帮助您,因为我对此不太了解。很抱歉我迟到了,谢谢您的回答,我会按照你的建议更新我的问题,但我真正需要的是插入,而不是更新。因为我想将从“客户机”表中选择的数据插入到另一个“客户机”表中,而不是更新。感谢you@SalamSalam不客气。删除我在回答中提到的
      其中CodeClient='$CodeClient'