php – 无法使用Web服务插入数据库
发布时间:2020-12-13 16:53:24 所属栏目:PHP教程 来源:网络整理
导读:当我尝试使用我的Web服务向我的数据库插入内容时遇到问题. 我有这个: 的index.php div class="modal-body" form id="wineForm" labelId Selecao:/label input type="text" id="id_selecao" name="id_selecao"/ labelNome:/label input type="text" id="nome
当我尝试使用我的Web服务向我的数据库插入内容时遇到问题.
我有这个: 的index.php <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,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> service.php function addPessoa(){ $request = SlimSlim::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); } 所以,当我填写所有字段,然后单击Add按钮时,给我成功创建警报Person.但是当我检查数据库时没有插入任何内容,也不知道为什么. 解决方法
当你到达成功函数时,只表示php脚本已成功运行/没有任何致命错误.
您应该为数据库调用添加错误处理,并将该信息添加到从脚本返回的json对象中. 然后你可以做一个console.log(数据);看看究竟发生了什么.您当然也可以在浏览器的开发人员工具中检查脚本返回的内容. 在脚本顶部启用错误显示ini_set(‘display_errors’,1);可能会使你的json无效(假设有警告),但它会告诉你到底出了什么问题,特别是如果你设置了PDO来抛出异常. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |