Привет, ребята, у меня есть следующий вызов $ .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:
скажем, я отправил «BillCosby». Это будет отправлено в указанный файл, и у меня есть это внутри этого файла:
$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. Самое смешное, что я могу вернуть то же самое значение, которое было отправлено.
Спасибо за ваше время, ребята!