我无法使用Jquery,PHP和AJAX将数据插入MySQL表

时间:2015-10-09 13:26:59

标签: php jquery mysql ajax

我正在尝试获取一些输入字段,使用AJAX和jQuery,通过按下发送按钮将数据插入MySQL表中,但对我来说不起作用。

<!DOCTYPE>
<html>    
<head>
    <title>Ejercicio</title>
    <meta charset="utf-8">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script>
        $(document).ready(function () {
            $("#send").click(function () {
                var titular = $("#titular").val();
                var descripcion = $("#descripcion").val();
                console.log(titular);
                console.log(descripcion);
                $.ajax({
                    url: "ejercicio.php",
                    data: {
                        "titular": titular,
                        "descripcion": descripcion
                    },
                    method: "post",
                    cache: false
                });
            });
        });
    </script>
</head>    
<body>        
        <div>
            <input id="titular" name="titular" type="text" placeholder="Titular">
        </div>
        <div>
            <input id="descripcion" name="descripcion" type="text" placeholder="Descripción">
        </div>
        <div>
            <button id="send">Enviar</button>
        </div>
    <span id="resultado"></span>
</body>    
</html>

这是我的PHP文件:

<?php
    $conexion = mysql_connect("localhost", "root", "");
    mysql_select_db("formulario", $conexion);

    $titular = $_POST["titular"];
    $descripcion = $_POST["descripcion"];

    //$sql = "INSERT INTO formulario (id, titular, descripcion, cuerpo, fecha, imagen) VALUES ('', '$titular', '$descripcion', '$cuerpo', '$fecha', $imagen)";
    $sql = "INSERT INTO formulario (id, titular, descripcion) VALUES ('', '$titular', '$descripcion')";
    mysql_query($conexion, $sql);
    mysql_close($conexion);        
?>

4 个答案:

答案 0 :(得分:0)

我认为Ajax部分正在运行。

在表格公式中,id必须为PRIMARY KEYauto_increment。然后juste插入而不提及它:

INSERT INTO formulario (titular, descripcion) VALUES ('$titular', '$descripcion');

答案 1 :(得分:0)

我认为您的问题在于您的SQL查询

 $sql = "INSERT INTO formulario (id, titular, descripcion) VALUES ('', '$titular', '$descripcion')";
mysql_query($conexion, $sql);

如果您已将id列设置为auto increement,则无需将值插入id coloumn,因为它将自动插入。  尝试

 $sql = "INSERT INTO formulario (titular, descripcion) VALUES ('$titular', '$descripcion')";
mysql_query($conexion, $sql);

答案 2 :(得分:0)

只需更改mysql_query中的参数位置($ conexion,$ sql);至 mysql_query($ sql,$ conexion);然后它将起作用。

答案 3 :(得分:0)

这是固定的!打开控制台,我发现了一个新错误:

XMLHttpRequest无法加载file:/// C:/Users/Jonathan/Desktop/ejercicio/ejercicio.php。交叉源请求仅支持协议方案:http,数据,chrome,chrome-extension,https,chrome-extension-resource。

所以在谷歌搜索我找到了一些对我不起作用的解决方案,所以我安装了netbeans,有了它,它运行正常!

感谢大家的帮助!