Невозможно выбрать данные из базы данных MySQL, используя PHP 7.2 - PullRequest
0 голосов
/ 06 сентября 2018

Пожалуйста, я не совсем понял, что не так с этим кодом

<?php $servername = "blee.com";
$username= "free";
$password = "free";
$dbname = "one";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
        die("Connection failed: " . $conn->connect_error);

$sql = "SELECT * FROM users";
if ($conn->query($sql) === TRUE) { 
        echo "success";
} else {
        echo "Error creating table: " . $conn->error; 
}
$conn->close();    ?>

Каким-то образом, если я пытаюсь что-то вставить в базу данных, это работает отлично, но если я пытаюсь выбрать, он просто показывает «ошибка создания таблицы:» без отображения ошибки ...... Я искал все кончено но решения не найдено Я использую php7.2 на моем веб-сервере

1 Ответ

0 голосов
/ 06 сентября 2018

Для SELECT (а также SHOW, DESCRIBE и EXPLAIN) запросов mysqli::query возвращает объект mysqli::result в случае успеха, а не логическое. Итак, ваш тест

if ($conn->query($sql) === TRUE)

всегда потерпит неудачу. Вместо этого вы должны убедиться, что запрос не завершился ошибкой (сравнивая возвращаемое значение с false), затем вы можете использовать возвращенный объект для выборки строк из результирующего набора, используя такие функции, как mysqli_result::fetch_assoc.

$result = $conn->query($sql);
if ($result !== false) { 
    // do something with results e.g.
    // while ($row = $result->fetch_assoc()) { print_r($row); }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...