从$ .ajax调用运行PDO语句时出现问题

时间:2013-02-10 17:36:53

标签: php ajax jquery pdo

嘿伙计们,我有以下ajax电话:

function sendUserfNotes()
{
    $.ajax({
    type: "POST",
    dataType: "json",
    url: '/pcg/popups/getNotes.php',
    data:
    {
        'nameNotes': notes_name.text(),
    },
    success: function(response) {
        $('#notes_body').text(response.the_notes);
        alert(response.the_notes);
        //$('#notes_body').html(data);
    }
});

一旦运行并转到此文件:   .......

try {  
  # MySQL with PDO_MYSQL  
  $DBH = new PDO("mysql:host=$hostname;dbname=$database", $username, $password);  
  $DBH->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );

}  
catch(PDOException $e) { 
    echo "I'm sorry, I'm afraid I can't do that.";  
    file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);   
}

$username_notes = $_POST['nameNotes'];

$sql = "SELECT notes FROM csvdata WHERE username = :username";
$getmeminfo = $DBH->prepare($sql);
$getmeminfo->execute(array(':username' => $username_notes));
$row = $getmeminfo->fetch(PDO::FETCH_ASSOC);
$notes = $row['notes'];

$returnArray = array( 'the_notes' => $row['notes']);

echo json_encode($returnArray);
$DBH = null;

现在在这里返回json数组后,$('#notes_body').text(response.the_notes);将使用返回的响应更改div,但我的问题是我无法让它返回。它总是空的?

我不确定会出现什么问题,所以如果你这么善良并且给我一些时间的话:)。

大卫

更新:

所以有一件事是我已经测试了它自己的pdo语句并且它有效。

如果我只是给$ username_notes一个像“BillCosby”这样的直接名称,它将为该人返回正确的值。

1 个答案:

答案 0 :(得分:3)

没有像“.ajax中的PDO问题”这样的事情。 PDO是服务器端,而$ .ajax是客户端。

  

就像pdo语句甚至没有运行?

没人知道。
除了你,没有人可以访问你的代码 所以,你必须自己回答。调试你的代码。

对于客户端调试,Firebug是无价的 打开它的Net选项卡,看看是否有HTTP呼叫。如果是 - 它是否返回了什么?
打开控制台,看看是否有任何错误。