PHP / Jquery Ajax Возвращает строку SQLite

У меня есть следующий запрос 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.

Что мне не хватает? Буду очень признателен за руль, пожалуйста.

0

Решение

Ваше заявление …

$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'];

Все зависит от того, как вы хотите его использовать.

Это помогает?

2

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector