У меня есть следующий запрос Ajax:
$.ajax({
type: "POST",
url: "getContent.php",
dataType: "text",
data: { "contentid": contentID },
success: function (data) {
console.log("Received: " + data );
}
});
}
Который отправляет единственное значение в мой PHP-скрипт на getContent.php
Я думаю, что getContent.php очень прост. Это содержит:
<?php
// Set up connection to sqlite
try {
$myPDO = new PDO('sqlite:freezy.sqlite');
} catch (PDOException $e) {
echo "Failed to get DB handle: " . $e->getMessage() . "\n";
exit;
}
$id = $_POST['contentid'];
// Prepare an update statement
$sql = "select contentBlock from content where contentId = :contentIDTarget";
// formalise the statement
$stmt = $myPDO->prepare($sql);
// passing values to the parameters
$stmt->bindValue(':contentIDTarget', $id);
// Execute the update
$result = $stmt->execute();
echo $result;
?>
Этот sql отлично работает при тестировании в инструменте тестирования slqite с той же базой данных.
Однако, когда я пытаюсь использовать это, все, что я вижу в журнале консоли на
Строка «Получено:»:
Получено: 1
То, что я ожидал увидеть, было что-то вроде:
Получено:
Просто тестовый текст
Потому что результат должен содержать кусок контента, который был помещен туда из tinyMCE.
Что мне не хватает? Буду очень признателен за руль, пожалуйста.
Ваше заявление …
$result = $stmt->execute();
вернет только логическое значение. Так что видеть «1» — это хорошо, так как значит, что это сработало.
Так что вам нужно вернуть фактические результаты.
Вы можете попробовать что-то вроде …
$result = $sth->fetch(PDO::FETCH_ASSOC);
Что означает что-то вроде …
// Execute the update
$stmt->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
echo $result;
или же echo $result['contentBlock'];
Все зависит от того, как вы хотите его использовать.
Это помогает?
Других решений пока нет …