2015-09-16 109 views
1

我想用php更新我的sql数据库,但不工作。用php和ajax更新mysql

这是调用PHP函数:

$("#btAtualizarEndereco").click(function(){ 

       var telAtualizado = $("#telefonePedido").val(); 
       alert(telAtualizado); 
       var idAtualizado = $("#idContato").val(); 
       alert(idAtualizado); 
       var enderecoAtualizado = $("#enderecoPedido").val(); 
       alert(enderecoAtualizado); 
       var numeroAtualizado = $("#numeroPedido").val(); 
       alert(numeroAtualizado); 
       var bairroAtualizado = $("#bairroPedido").val(); 
       alert(bairroAtualizado); 
       var complementoAtualizado = $("#complementoPedido").val(); 
       alert(complementoAtualizado); 
       var pontoRefAtualizado = $("#pontoRefPedido").val(); 
       alert(pontoRefAtualizado); 

       $.ajax({ 
        url: "atualizarEndereco.php", 
        type: "POST", 
        data: { 
         tel : telAtualizado, 
         id : idAtualizado, 
         endereco : enderecoAtualizado, 
         numero : numeroAtualizado, 
         bairro : bairroAtualizado, 
         complemento : complementoAtualizado, 
         pontoRef : pontoRefAtualizado 
        }, 
        cache: false, 
        processData:true, 
        success: function(data) 
        { 
         alert("passou no php"); 
        } 
       }); 
      }); 

此功能,我对sucess警报。

这就是所谓的我的PHP:

<?php 

// Conexao com o BD 
require_once "admin/conexao.php"; 

$id = $_POST['id']; 
$tel = $_POST['tel']; 
$endereco = $_POST['endereco']; 
$numero = $_POST['numero']; 
$bairro = $_POST['bairro']; 
$complemento = $_POST['complemento']; 
$pontoRef = $_POST['pontoRef']; 

$sqlNovoContato = mysqli_query("UPDATE contato SET telefone = '$tel' , endereco = '$endereco', 
numero = '$numero', bairro = '$bairro', complemento = '$complemento', pontoReferencia = '$pontoRef' WHERE idContato = $id"); 

?>  

更新不起作用。

这是conexao.php:

<?php 

    $conexao = mysqli_connect('localhost', 'root', '', 'db123Pastel'); 
    // Checando a conexao 
    if($conexao->connect_errno > 0){ 
    die('Falha na conexao com o banco de dados ['. $conexao->connect_errno .']'); 
    } 

    if(!$conexao->set_charset("utf8")) { 
    printf("Erro ao carregar character set utf8: %s\n", $conexao->error); 
    } 
    ?> 
+0

在查询''$ id''中加上'$ id'的引号 – Shehary

+0

您的脚本存在SQL注入攻击风险。 –

+1

您不需要通过将Ajax添加到图片来弥补问题。只需单独测试你的PHP脚本。当你说不工作时解释什么不工作意味着 – e4c5

回答

1

可以呼应查询并检查是否有语法错误。运行该查询我的MySQL控制台并验证查询。可能您可以使用以下语法进行查询。

"UPDATE contato SET telefone = '{$tel}' ,  
      endereco = '{$endereco}', 
      numero = '{$numero}', 
      bairro = '{$bairro}', 
      complemento = '{$complemento}', 
      pontoReferencia = '{$pontoRef}' 
     WHERE idContato = '{$id}'"