2017-03-09 104 views
2

當在php上回顯變量時,它可以正常工作,但是將它插入數據庫卻沒有,問題是什麼我沒有在代碼上看到任何問題,感謝您的幫助jQuery AJAX post to php probleme

HTML/JQUERY

<form action="" id="myForm"> 
    <input type="text" id="name" ><br/> 
    <input type="text" id="age" ><br/> 
    <input type="submit" value="Submit"> 
</form> 
<div id="result"></div> 

    <script> 

    $(function() { 
    $("#myForm").submit(function(e) { 
     e.preventDefault(); 
     var name = $('#name').val(); 
     var age = $('#age').val(); 

     $.ajax({ 
     url: 'validate.php', 
     method: 'POST', 
     data: {postname:name, postage:age}, 
     success: function(res) { 
      $("#result").append(res); 
     } 
    }); 
    }); 
}); 
    </script> 

PHP

<?php 

    include 'mysqldb.php'; 


    $name = $_POST['postname']; 
    $age = $_POST['postage']; 


    $sql = "insert into uss (first, last) values('".$name."','".$age."')"; 
    $result = $conn->query($sql); 

    echo $result ; 

    ?> 

呃在控制檯上

POST http://localhost/validate.php 500 (Internal Server Error) 
     send @ jquery-3.1.1.min.js:4 
     ajax @ jquery-3.1.1.min.js:4 
     (anonymous) @ jquery.PHP:26 
     dispatch @ jquery-3.1.1.min.js:3 
     q.handle @ jquery-3.1.1.min.js:3 

mysqldb.php ROR這是PHP文件連接到數據庫

<?php 

$conn = mysqli_connect('localhost', 'root', 'password' , 'database'); 

if (!$conn) { 

    die("Connection failed: ".mysqli_connect_error()); 

} 

?> 
+0

該查詢已建好。 變量有很好的封裝。嘗試按以下方式使用mysqli: '$ result = mysqli_query($ conn,$ sql); if(mysqli_num_rows($ result)> 0){echo $ result; }' – brotherperes

+0

你好,不好意思,它不作任何改變 – elchikh

+0

你有'$ conn'定義了嗎? – brotherperes

回答

1

查詢是「很好」建成的。

這裏的變量被很好地封裝了。

有一些安全問題可以通過防止跨站點腳本(XSS)和SQL注入來解決。這是在查詢級完成的。 Stack中有很多線程解釋瞭如何做到這一點。

,並嘗試以下列方式使用的mysqli:

$conn = mysqli_connect($servername, $username, $password, $dbname); 

// Check connection 
if (!$conn) { 
    die("Connection failed: " . mysqli_connect_error()); 
} 
$sql = "your query here"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 
    echo $result ; 
} ` 

謝謝你告訴我寫在答案的建議。

同樣感謝您接受這個正確的答案,這表明了您的很多考慮。

+1

歡迎你:)) – elchikh

0

試試這個,看看具體的錯誤:

<?php 
try 
{ 

     $conn = new PDO("dbtype:host=yourhost;dbname=yourdbname;charset=utf8","username","password"); 
     $sql = "insert into uss (first, last) values('".$name."','".$age."')"; 
     $result = $conn->query($sql); 
} 
catch(PDOException $e){ 
     echo "Error: ".$e; 
     } 
    .....//