2017-08-06 230 views
1

我想通過JS函數更新我的數據庫。谷歌搜索一段時間後,我明白,如果不使用AJAX,顯然是不可能的。用JavaScript更新SQL數據庫

所以這是我第一次和我試過了,這裏是我的JS代碼:

$("#update").click(function(event){ 
    var showArr = document.forms['ownForm'].elements['showArr'].value; 

    $.ajax({ 
     url: './../pages/updateDatabase.php', 
     type: 'POST', 
     data: { 
      showArr: showArr 
     } , 
     success: function(msg) { 
      alert("Data Saved: " + msg); 
     } 
    }); 
    return false; 
}); 

,我的PHP文件:

<?php 

try { 
    $conn = new PDO('mysql:host=localhost;dbname=+++', '+++', ''); 
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); 

    $sql = "UPDATE Users SET SHOWARR = true WHERE ID = 1"; 

    $stmt = $conn->prepare($sql); 
    $stmt->execute(); 

    echo $stmt->rowCount() . " records UPDATED successfully"; 
} 
catch(PDOException $e) 
{ 
    echo $sql . "<br>" . $e->getMessage(); 
} 

$conn = null; 

?> 

但沒有任何反應!我的錯誤在哪裏?

+0

當然我從代碼中刪除憑據和我通一個「showArr」變量,但我現在並沒有在php文件中使用它,因爲我認爲這可能是錯誤的。在這種情況下,我只想觸發SQL語句 – TheBlackBird

+0

如果您只是將瀏覽器指向更新頁面,它是否正常工作。這是一個確定哪個部分失敗的案例 - 也直接調用頁面更容易顯示錯誤並找出如何修復它(儘管只有在不使用參數的情況下才有效)。 –

+0

調用PHP頁面直接成功更新數據庫!所以這似乎是AJAX方法的問題,我猜 – TheBlackBird

回答

1

你在AJAX功能URL看起來不正確: -

給予充分的URL這樣

url:'http://yourdomain.com/page.php'; 

我希望工程

+0

試過了!工作! 「http://」是重要的部分! – TheBlackBird