如何使用AngularJS和php后端插入到表中
我有一个视图,其中客户端的数据从一个表“clienttte”显示,该表由一个数组显示,对于属于每个客户端的每一行,我有一个“add”按钮,该按钮必须将每个客户端添加到另一个表“client”,当我尝试此代码时,它会生成以下错误:如何使用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
未定义属性“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'