Выберите из таблицы, где = переменная $ - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь выучить PHP / MySql и создать простой «сайт».

У меня проблема при попытке напечатать строку из выбора. Я создал базу данных с таблицей "Utenti" и хочу выбрать из нее имя пользователя.

$username='Prova';
// In my database there is a record with username "Prova"

require 'connessione_db.php';
// I connect Php to the Database in another file

mysqli_select_db ($conn, $dbname);

$checkusername= "SELECT username FROM utenti WHERE username= '$username' ";
// when i write "Where username='Prova' " there aren't problem.

$username_result=mysqli_query($conn,$checkusername);

if (mysqli_num_rows($username_result) > 0) {
        while($rows=mysqli_fetch_array($username_result)) {
                echo $rows['username'];
        }
} else {
    echo "no";
}

С реальным кодом результат "нет", но если я напишу:

... where username='Prova'";

результат "Прова".

Я пытался изменить код, читая решения пользователя, но безуспешно. Я попробовал:

" ... Where username='" .$username. "'";

или

mysqli_real_escape_string($conn,$username);

и другие бесполезные советы.

1 Ответ

0 голосов
/ 14 апреля 2019

Когда вы обращаетесь к своему серверу sql, вы используете строку, поэтому вам просто необходимо объединить две строки, чтобы username='" .$username. "'" работал нормально.Что может сработать, это что-то вроде "...username='{$username}".Вы должны отладить эту строку, используя error.log($checkusername) что не так с вашей строкой.Кроме того, какую версию php вы сейчас используете?Лучшая стабильная версия - 5.6 или 7.3.4, хотя версии 7+ не популярны.

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