2017-03-09 82 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; 
     } 
    .....//