やあみんな私は次の$.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になります。これで、PDOを使用してMySQLデータベースからBillCosbyの値を取得しようとすると、nullが返されます。ファイル全体のコードを表示する前に、PDOが機能することを確認したいと思います。完璧です。変数$username_notesに'BillCosby'の直接値を指定すると、データベースを完全に実行し、$ _POST['nameNotes']がある場合にのみnullを返します。前に。
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ステートメントから戻り値を取り戻せないのですか?$.ajaxファイルが呼び出すファイル内でPDOステートメントに名前-'BillCosby'を指定すると、完全に機能します。しかし、$。ajaxから$ _POSTを介して値を取得すると、機能せず、nullを返します。面白いのは、送信されたのと同じ値を返すことができることです。
お時間をいただきありがとうございます!