Это часть кода, написанная на языке JavaScript. При отладке я вижу идентификатор 11, а затем результат представляет собой пустой массив, и это тот же номер, когда я запускал скрипт без переменной post.
Код: Выделить всё
$.ajax({
url: "repos/getEntryById.php",
type: "post",
contentType: "json",
data: {
"id": id
},
success: function(results) {
if (results != null && results.length > 0) {
var row = results[0];
...
}
}
});
Код: Выделить всё
Код: Выделить всё
function getEntryById($id) {
if (isset($id)) {
$sql = "SELECT t.id, t.transaction_date, t.description, l.entry_type, l.amount, at.name AS category, at.id AS cat_id FROM transactions AS t JOIN ledger_entries AS l ON t.id = l.transaction_id JOIN accounts AS a ON a.id = l.account_id JOIN account_types AS at ON at.id = a.account_type WHERE l.id = ?";
$statement = $this->conn->prepare($sql);
$statement->bindParam(1, $id);
$statement->execute();
$output = array();
while($row = $statement->fetch()) {
$output[] = $row;
}
return $output;
}
}
[{"id":11,"0":11,"transaction_date":"2024- 04-10 00:00:00","1":"2024-04-10 00:00:00","description":"что-то","2":"что-то","entry_type":2," 3":2,"amount":"2.50","4":"2.50","category":"Расходы","5":"Расходы","cat_id":5,"6":5}]
В чем может быть проблема?
Я запустил скрипт из командной строки с $id, установленным в 11. Он возвращает результаты:
В чем может быть проблема?
Я запустил сценарий из командной строки с $id, установленным в 11. Он возвращает результаты:
В чем может быть проблема?
Я запустил сценарий из командной строки с $id, установленным в 11. Он возвращает результаты:
В чем может быть проблема?
Я запустил сценарий из командной строки с $id, установленным в 11. Он возвращает результаты:
p>
[{"id":11,"0":11,"transaction_date":"2024-04-10 00:00:00","1":"2024-04-10 00:00:00","description":"что-то","2":"что-то","entry_type":2,"3":2,"сумма":"2,50","4":"2,50" ,"category":"Расходы","5":"Расходы","cat_id":5,"6":5}]
Я знаю, что скрипт подключается к базе данных и успешно извлекает строку. Это работает, если я преобразую целое число в строку, и это то, что я ожидаю передать ему как переменную сообщения. Все это работает на Raspberry Pi, как на сервере Apache, так и на сервере mariadb, но не на одном и том же Pi. Это также в ОС Debian. Вероятно, это что-то простое, и я это упускаю из виду.
В журналах Apache содержится предупреждение о неопределенном ключе массива «id» в строке 3 сценария.
Подробнее здесь: https://stackoverflow.com/questions/783 ... t-variable