MySQL запрос не дал результатов

0

Я хочу, чтобы результаты моего БД выполнялись с 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
    у вас неправильный запрос. Пожалуйста, смотрите документацию mysql.
  • 0
    Это не правильный SQL
Показать ещё 6 комментариев
Теги:
mysqli

2 ответа

1
Лучший ответ

Вы должны изменить свой запрос следующим образом:

$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-инъекций - это использование подготовленных операторов, более подробная информация здесь

  • 0
    Обновил мой вопрос, но та же проблема. Можете ли вы проверить это, пожалуйста?
  • 0
    Можете ли вы показать нам свои таблицы пользователей?
Показать ещё 9 комментариев
-1

Можете ли вы попробовать это,

$sql = "SELECT * FROM users WHERE username = '".$username."'";

Ещё вопросы

Сообщество Overcoder
Наверх
Меню