如何在.ajax post的查询中插入变量

时间:2013-05-07 05:57:24

标签: php jquery mysql ajax

我认为这将非常简单,但我认为将.ajax中的变量发布到查询时存在错误。有没有其他方法可以得到我的结果?

这是我的jquery:

jQuery_1_4_2(document).ready(function() 
{
jQuery_1_4_2('.mainfolder').live("click",function() 
{
event.preventDefault();
var ID = jQuery_1_4_2(this).attr("id");
var dataString = 'folder_id='+ ID;

if(ID=='')
{
alert("Serious Error Occured");
}
else
{
jQuery_1_4_2.ajax({
type: "POST",
url: "display_folder.php",
data: dataString,
cache: false,
success: function(html){
jQuery_1_4_2(".right_file").prepend(html);


}
 });
}


});

});

这是我的display_folder.php

<?php
        $folder_id = $_POST['folder_id'];
        //echo $folder_id;
        $qry=mysql_query("SELECT * FROM tbl_folder WHERE folder_id='$folder_id'");
        while($row=mysql_fetch_array($qry))
            {
                echo $row['folder_name'] . "<br>";
                }

?>

任何人都可以解释为什么这不起作用?我试图回显$ folder_id并且它正在工作,但当你把它放在查询中时它无法正常工作。

注意:这不是一个愚蠢的问题,我忘记了我的数据库连接。感谢

2 个答案:

答案 0 :(得分:0)

我同意你和我在这里提供(仅用于干净的显示)同样的一些小格式。

var dataString = 'folder_id=1';
        $.ajax({
            url: "folder.php",
            type:'post',
            async: false,
            data:dataString,
            success: function(data){
                alert(data);
            }
        });

和php部分我正确地获得folder_id

<?php
    $postid = $_POST['folder_id'];
//echo $postid;
$link = mysql_connect("localhost","root","");
mysql_select_db("test", $link);
$query = mysql_query("select * from post where id='$postid'");
while($row=mysql_fetch_array($query))
{
    echo $row['text'] . "<br>"; //a, b etc in each row
}
?>

所以它应该有用。

答案 1 :(得分:0)

在你的php代码中试试这个

<?php
    $folder_id = addslashes($_POST['folder_id']);
    //echo $folder_id;
    $qry=mysql_query("SELECT * FROM tbl_folder WHERE folder_id='$folder_id'");
    while($row=mysql_fetch_array($qry))
        {
            echo $row['folder_name'] . "<br>";
            }

 ?>