Эй, ребята у меня есть следующие $ .ajax вызов:
$.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);
}
)};
Теперь сосредоточиться на data:
позволяет сказать, что я послал «Косби». Это будет отправлена к файлу указанного и у меня есть это в этом файле:
$username_notes = $_POST['nameNotes'];
Теперь позволяет сказать, что я был просто $ username_notes вернуться в JSON, как это ...
$returnArray = array('the_notes' => $username_notes);
echo json_encode($returnArray);
Это будет работать, и ответ будет BillCosby. Теперь, когда я попытаюсь получить значение для BillCosby из моей базы данных MySQL, используя PDO, он вернет null .... Прежде чем я покажу код для всего файла, я просто хочу пояснить, что PDO работает отлично, если бы я должен был указать переменную $ username_notes прямое значение «BillCosby», я бы прошел через базу данных идеально, она возвращает только null, если у меня есть $ _POST ['nameNotes']; спереди.
getNotes.php:
$username_notes = $_POST['nameNotes'];
grabNotes($username_notes);
function grabNotes($xusername)
{
.....
$newUser = $xusername;
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);
}
$sql = "SELECT notes FROM csvdata WHERE username = :username";
$getmeminfo = $DBH->prepare($sql);
$getmeminfo->execute(array(':username' => $newUser));
$row = $getmeminfo->fetch(PDO::FETCH_ASSOC);
$notes = $row['notes'];
$returnArray = array('the_notes' => $row['notes'],);
echo json_encode($returnArray);
$DBH = null;
}
Так что мой вопрос, почему я не могу получить возвращаемое значение обратно из заявления PDO? Он будет работать идеально, если я сказал PDO заявление имя - «BillCosby» внутри файла, к которому обращается файл $ .ajax. Но это не сработает и возвращает null, если я получаю значение через $ _POST из $ .ajax. Самое смешное, что я могу вернуть то же самое значение, которое было отправлено.
Спасибо за ваше время, ребята!
Странно, что вы используете '$ username'. Он даже выглядит как затенение другой переменной – Alexander
Проверить обновление Я изменил это ... – 2013-02-10 18:57:54
Попробуйте обрезать его -> '$ username_notes = trim ($ _POST ['nameNotes']);' – adeneo