簡體   English   中英

我無法使用Jquery,PHP和AJAX將數據插入MySQL表

[英]I can't insert data into MySQL table with Jquery, PHP and AJAX

我試圖獲取一些輸入字段,並使用AJAX和jQuery通過按send按鈕將數據插入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);        
?>

我認為Ajax部分正在運行。

在您的表Formulario中, id必須是PRIMARY KEYauto_increment 然后插入而無需提及:

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

我認為您的問題出在您的SQL查詢中

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

如果已將id列設置為自動遞增,則無需將值插入id列,因為它將自動插入。 嘗試

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

只需更改mysql_query($ conexion,$ sql);中參數的位置即可; 到mysql_query($ sql,$ conexion);。

它是固定的! 打開控制台,發現一個新錯誤:

XMLHttpRequest無法加載文件:/// C:/Users/Jonathan/Desktop/ejercicio/ejercicio.php。 跨源請求僅支持以下協議方案:http,數據,chrome,chrome擴展名,https,chrome-extension-resource。

因此,在google中搜索時,我發現了一些對我不起作用的解決方案,因此我安裝了netbeans,並且可以正常運行!

謝謝大家的幫助!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM