#php #mysql #phpmyadmin
#php #mysql #phpmyadmin
Вопрос:
У меня есть запрос, который вызывает у меня головную боль, он выполняется, когда я ввожу phpmyadmin, но не выдает никаких выходных данных, даже не ошибка при запуске скрипта, я не могу сказать, что это соединение или что-то еще, у меня есть другой файл, почти точно такой же, как этот, и он работает безупречно, но не этот, по крайней мере, даже ошибка на этом этапе будет оценена, ниже приведен мой сценарий:
<?php
require_once 'include/DB_Connect.php';
$db = new Db_Connect();
$conn = $db->connect();
// get all comments table
$result = $conn->prepare("SELECT sale_comments._id ,sale_comments._user_fk,
users._fname, users._lname,
sale_comments._comment,
sale_comments._date_created
FROM sale_comments, users
WHERE sale_comments._user_fk = users._id
ORDER BY sale_comments._date_created DESC ");
$result->execute();
$response["comments"] = array();
$result->bind_result($id, $user_fk, $fname, $lname, $comment, $date_created);
while($row = $result->fetch())
{
$comment = array();
$comment["id"] = $id;
$comment["user_fk"] = $user_fk;
$comment["fname"] =$fname;
$comment["lname"] = $lname;
$comment["comment"] = $comment;
$comment["date_created"] = $date_created;
$response["message"] = "Loaded";
$response["error"] = FALSE;
array_push($response["comments"], $comment);
}
echo json_encode($response);
?>
И мой другой скрипт, который работает отлично
<?php
require_once 'include/DB_Connect.php';
$db = new Db_Connect();
$conn = $db->connect();
// get all products from products table
$result = $conn->prepare("SELECT _id, _user_fk, _title, _description, _price, _currency, _category, _location, _image, _date_created FROM sales ORDER BY _date_created DESC");
$result->execute();
$response["sales"] = array();
$result->bind_result($id, $user_fk, $title, $description, $price, $currency, $category, $location, $image, $date_created);
while($row = $result->fetch())
{
$sale = array();
$sale["id"] = $id;
$sale["user_fk"] = $user_fk;
$sale["title"] = $title;
$sale["description"] =$description;
$sale["price"] = $price;
$sale["currency"] = $currency;
$sale["category"] = $category;
$sale["location"] = $location;
$sale["image"] = $image;
$sale["date_created"] = $date_created;
$response["message"] = "Loaded";
array_push($response["sales"], $sale);
}
echo json_encode($response);
?>
Комментарии:
1. Установлено соединение с MySQL или нет??
2. Да, посмотрите на второй скрипт, все то же самое, кроме запроса и переменных
3. Находятся ли файлы в одной папке?
4. какую ошибку вы получаете, не могли бы вы опубликовать здесь?
5. Получаете ли вы какие-либо выходные данные в phpmyadmin? Я имею в виду, возвращаются ли какие-либо строки?
Ответ №1:
Наконец-то понял это, очень глупая ошибка, я должен сказать, код в порядке, ну, логика, я имею в виду, проблема заключалась в именовании моей переменной,
Я объявил $comment в bind как поле
$result->bind_result($id, $user_fk, $fname, $lname, $comment, $date_created);
Затем я продолжил и ошибочно объявил его как массив, в котором должны были размещаться данные, полученные в результате запроса, в конце дня он потреблял сам себя: D спасибо всем за ваши ответы, в следующий раз я буду очень осторожен
$comment = array();
$comment["id"] = $id;
$comment["user_fk"] = $user_fk;
$comment["fname"] =$fname;
$comment["lname"] = $lname;
$comment["comment"] = $comment;
$comment["date_created"] = $date_created;
$result->bind_result($id, $user_fk, $fname, $lname, $comment, $date_created);
while($row = $result->fetch())
{
$commentArray = array();
$commentArray["id"] = $id;
$commentArray["user_fk"] = $user_fk;
$commentArray["fname"] =$fname;
$commentArray["lname"] = $lname;
$commentArray["comment"] = $comment;
$commentArray["date_created"] = $date_created;
$response["message"] = "Loaded";
$response["error"] = FALSE;
array_push($response["comments"], $commentArray);
}`
Комментарии:
1. Теперь это очевидно, что вы его нашли.