Php can';使用web服务在数据库中插入
当我试图使用我的web服务向数据库插入内容时,我遇到了一个问题。 我有这个: index.phpPhp can';使用web服务在数据库中插入,php,jquery,mysql,ajax,web-services,Php,Jquery,Mysql,Ajax,Web Services,当我试图使用我的web服务向数据库插入内容时,我遇到了一个问题。 我有这个: index.php <div class="modal-body"> <form id="wineForm"> <label>Id Selecao:</label> <input type="text" id="id_selecao"
<div class="modal-body">
<form id="wineForm">
<label>Id Selecao:</label>
<input type="text" id="id_selecao" name="id_selecao"/>
<label>Nome:</label>
<input type="text" id="nome" name="nome"/>
<label>Idade:</label>
<input type="text" id="idade" name="idade"/>
<label>Clube:</label>
<input type="text" id="clube" name="clube"/>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button id="btnAdd" type="button" class="btn btn-primary">Add</button>
</div>
...
<script type="text/javascript">
var rootURLPessoas = "http://localhost/aw014/webservice/services/pessoas";
function addPessoa() {
console.log('addPessoa aquiiiiiiii');
$.ajax({
type: 'POST',
contentType: 'application/json',
url: rootURLPessoas + '/add',
dataType: "json",
data: formToJSON(),
success: function(data, textStatus, jqXHR){
alert('Person created successfully');
console.log("dsdkasdajhdjkas", data.id_selecao);
//$('#wineId').val(data.id);
},
error: function(jqXHR, textStatus, errorThrown){
alert('addWine error: ' + textStatus);
}
});
}
function formToJSON() {
return JSON.stringify({
"id_selecao": $('#id_selecao').val(),
"nome": $('#nome').val(),
"idade": $('#idade').val(),
"clube": $('#clube').val(),
"posicao": $('#posicao').val()
});
}
jQuery(document).ready(function ($) {
$('#tabs').tab();
$('#btnAdd').click(function() {
addPessoa();
});
});
</script>
因此,当我填写所有字段并单击“添加”按钮时,请向我发送成功创建的人员的警报。但是当我检查数据库时,没有插入任何内容,也不知道为什么。当您使用success函数时,这只意味着php脚本已成功运行/没有任何致命错误 您应该将错误处理添加到数据库调用中,并将该信息添加到从脚本返回的json对象中 然后你可以做一个
console.log(数据)代码>并查看到底发生了什么。当然,您还可以在浏览器的开发人员工具中检查脚本返回的内容
在脚本ini\u集的顶部启用错误显示(“显示错误”,1)
可能会使您的json无效(假设存在警告),但它会准确地告诉您出了什么问题,特别是如果您将PDO设置为抛出异常。您在哪里调用addPessoa php函数?感谢您的帮助,我按照您说的做Console.log(data)
,但我找不到错误。。。我忘记在我的html代码中添加标签Posicao
。谢谢:)
function addPessoa(){
$request = \Slim\Slim::getInstance()->request();
$pessoa = json_decode($request->getBody());
$sql = "INSERT INTO pessoa (id_selecao, nome, idade,clube, posicao) values (:id_selecao, :nome,:idade,:clube,:posicao) ";
$conn = getConn();
$stmt = $conn->prepare($sql);
$stmt->bindParam("id_selecao",$pessoa->id_selecao);
$stmt->bindParam("nome",$pessoa->nome);
$stmt->bindParam("idade",$pessoa->idade);
$stmt->bindParam("clube",$pessoa->clube);
$stmt->bindParam("posicao",$pessoa->posicao);
$stmt->execute();
$pessoa->id = $conn->lastInsertId();
$conn= null;
echo json_encode($pessoa);
}