SQL-запрос выполняется в панели phpMyAdmin, но не выполняется в Php-скрипте

#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);



?>
 

Изображение, показывающее, что оба моих файла находятся в одной папке

Изображение, показывающее тот же запрос, выполняемый в phpmyadmin

Изображение, показывающее, что файл ничего не отображает при запуске в браузере

Комментарии:

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. Теперь это очевидно, что вы его нашли.