MySQL запрос не дал результатов - PullRequest
0 голосов
/ 14 сентября 2018

Я хочу получить результаты моего БД из Session, но я не получаю результатов или ошибок:

  $_SESSION['username'];

  $link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");

    // Check connection
    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }


    $username = mysqli_real_escape_string($link, $_SESSION['username']);


   $sql = "SELECT * FROM users where username = $username";
    $result = mysqli_query($link, $sql);

    echo $result;

Кто-нибудь знает, почему нет? Сессия работает.

Спасибо

1 Ответ

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

Вы должны изменить свой запрос, например так:

$sql = "SELECT user FROM yourtablename WHERE username = $username"

Где «пользователь» - это то, что вы хотите ВЫБРАТЬ, если вы хотите выбрать все данные, вы можете использовать «*», yourtablename - это имя таблицы таблицы, которую вы хотите выбрать.

После ваших изменений ваш код должен выглядеть как

  $_SESSION['username'];

  $link = mysqli_connect("$myHost", "$myUser", "$myPass", "$myDB");

    // Check connection
    if($link === false){
        die("ERROR: Could not connect. " . mysqli_connect_error());
    }


    $username = mysqli_real_escape_string($link, $_SESSION['username']);


   $sql = "SELECT * FROM users where username = $username";
    if ($result = $link->query($sql)) {

        while ($row = $result->fetch_row()) {
            var_dump($row);
        }

        $result->close();
    }

Подробнее здесь

Обратите внимание: mysqli_real_escape_string это не очень безопасно. Лучшим вариантом защиты от SQL-инъекций является использование подготовленных операторов, дополнительная информация здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...