2015-10-09 44 views
0

我想獲得一些輸入字段,並與AJAX和jQuery,通過按發送按鈕插入數據在MySQL表中,但沒有'爲我工作。我不能將數據插入MySQL表與Jqyery,PHP和AJAX

<!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);   
?> 

有人能告訴我在哪裏是我的錯誤?

+3

實際問題是什麼? – Epodax

+1

是的,你可以。在谷歌上的plz搜索 –

+0

請注意,您正在使用不推薦的PHP函數,這不應阻止您執行您想要的任務,但建議移至MySQLi。 'http:// php.net/manual/fr/book.mysqli.php' – Musk

回答

0

我覺得你的問題是在你的SQL查詢

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

如果您設置您的ID列自動increement那麼你不需要插入值ID coloumn因爲它會自動插入。 嘗試

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

嗨sagar patro !,感謝您的答案,但我改變了它,它不工作:(。我試圖找到錯誤,但我還沒有做到這一點:( – Jonathan

+0

請再次分享什麼是錯誤 –

0

我假設Ajax部分正在工作。

在你的表公式中,id必須是PRIMARY KEYauto_increment。然後插入探微不mentionning它:

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

嗨ThinkTank !,感謝您的答案,但我改變了它,它不工作:(也許錯誤是在Ajax部分,但我沒有找到它:(。 – Jonathan

0

只是改變參數的位置的mysql_query($ conexion,$ SQL);到 mysql_query($ sql,$ conexion);然後它會工作。

+0

嗨surabhivin !,感謝您的答案。我改變了它,它不工作,我認爲錯誤是在Ajax部分,但我試圖找到它,我不能:( – Jonathan

0

它已修復!打開控制檯,我發現一個新的錯誤:

XMLHttpRequest無法加載file:/// C:/Users/Jonathan/Desktop/ejercicio/ejercicio.php。協議方案僅支持交叉源請求:http,data,chrome,chrome-extension,https,chrome-extension-resource。

因此,在谷歌搜索我發現了一些解決方案,我沒有工作,所以我安裝netbeans,並與它,它工作正常!

謝謝大家的幫助!

相關問題