Отображение результата MYSQL SELECT в PHP - PullRequest
0 голосов
/ 20 июня 2020

Я пытаюсь отобразить результат запроса в текстовой области, где noteID = 1. Однако я получаю это сообщение об ошибке:

Предупреждение: mysqli_stmt_get_result () ожидает, что параметр 1 будет быть mysqli_stmt, объектом, заданным в C: \ xampp \ htdocs \ test \ test. php в строке 81.

Почему это происходит, когда эта строка действительно существует?

<?php
    require 'znotseen-database-connection.php';
    $sql = "SELECT noteText FROM notes WHERE noteID = 1";
    $test = mysqli_query($conn, $sql);
    $result = mysqli_stmt_get_result($test);
    echo($result);

1 Ответ

1 голос
/ 20 июня 2020
  • mysqli_query() возвращает объект класса mysqli_result
  • mysqli_stmt_get_result() принимает параметр типа mysqli_stmt и возвращает объект mysqli_result

Их нельзя смешивать!

Вы должны использовать подготовленные операторы или запросы c.

Если вы используете запросы stati c, тогда вы можете просто использовать результат mysqli_query в al oop.

<?php
require 'znotseen-database-connection.php';
$sql = "SELECT noteText FROM notes WHERE noteID = 1";
$test = $conn->query($sql);

foreach($test as $row) {
    echo $row['noteText'];
}

Если ваш запрос имеет параметры, вам нужно использовать подготовленные заявления. После его выполнения вам нужно вызвать get_result(), чтобы получить данные в PHP из MySQL.

<?php
require 'znotseen-database-connection.php';

$id = 1;
$sql = "SELECT noteText FROM notes WHERE noteID = ?";
$test = $conn->prepare($sql);
$test->bind_param('s', $id);
$test->execute();
$result = $test->get_result();

foreach($test as $row) {
    echo $row['noteText'];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...