Php получить данные из mysql
Автор Илья Белоусов задал вопрос в разделе PHP
Как данные получить из базы MySQL и занести их в переменную PHP? и получил лучший ответ
Ответ от
$q = mysql_query("SELECT * FROM TABLE");
$resulr_array = mysql_fetch_assoc($q);
Источник:
Марк Кричевский
(253)
тут нет никаких расшрений =)
ну, а так да, в php 7 функции этой уже нет
Ответ от Petrovi4[гуру]
Нужно создать подключение к базе данных:
$connect = mysqli_connect("хост", "имя пользователя", "пароль", "имя базы данных");
Теперь нужно создать запрос, который в свою очередь будет доставать из таблицы значения. Так-же есть SQL инъекции, если от них не защитится, вашу базу данных могут взломать (не доступ, а достать все из СУБД), от них можно не защищаться, если это для вас одного, а не это авторизация и так далее. Всё же я расскажу как от них защититься, мы принимаем вводимый логин и пароль в переменные. ($login, $password).
Нужно обработать логин и пароль на SQL Injection:
$login = mysqli_real_escape_string($connect, $login); // обрабатываем логин
$login = htmlspecialchars($login); // обрабатываем логин [2], эта функция превращает допустим, амперсант (&) в "&amp"
$password = mysqli_real_escape_string($connect, $password); // обрабатываем пароль
$password = htmlspecialchars($password); // обрабатываем пароль [2]
Проверка на SQL Injection и не только проверена. Если SQL Injection там будут обнаружены, логин/пароль в зависимости где обнаружится превратится в 0 (точно не помню).
Осталось сделать запрос на взятия данных из таблицы СУБД. Если нужно по логину и паролю доставать, нужно указать "ГДЕ" (WHERE). А если нужно достать не только аккаунта данные, но и всё из таблицы, не нужно использовать WHERE.
Пример первый. (по логину и паролю).
$query = mysqli_query($connect, "SELECT * FROM `таблица` WHERE login = '$login' AND pass = '$password'");
login, pass это переменные в СУБД (столбец). Если аккаунт с таким логином и паролём найдётся мы получим этой строки данные (аккаунта). Если же не найдётся - ничего не вернёт.
Осталось преобразовать Resource Code в полноценный ресурс с помощью mysqli_fetch_assoc.
$resource = mysqli_fetch_assoc($query); // ресурс код который был в $query обработан в полноценные значения.
Давай теперь проверим, нашёлся ли аккаунт с таким логином или паролем, и допустим в СУБД был еще столбец с почтой, он называется Email.
if (mysqli_num_rows($resource)) { // если нам что-то вернуло
echo "Аккаунт найден".
echo "Ваша почта: ". $resource['Email'];
} else {
echo "Аккаунт не найден. ";
}
Так-же второй пример, если ничего не нужно, и надо достать всё с таблицы не нужно указывать WHERE в запросе. Так-же если нужно выводить всё с таблицы, а у вас это не получится, так как он вернёт вам только первую строку с СУБД, напиши мне тут в комментарии.
Нужно создать подключение к базе данных:
$connect = mysqli_connect("хост", "имя пользователя", "пароль", "имя базы данных");
Теперь нужно создать запрос, который в свою очередь будет доставать из таблицы значения. Так-же есть SQL инъекции, если от них не защитится, вашу базу данных могут взломать (не доступ, а достать все из СУБД), от них можно не защищаться, если это для вас одного, а не это авторизация и так далее. Всё же я расскажу как от них защититься, мы принимаем вводимый логин и пароль в переменные. ($login, $password).
Нужно обработать логин и пароль на SQL Injection:
$login = mysqli_real_escape_string($connect, $login); // обрабатываем логин
$login = htmlspecialchars($login); // обрабатываем логин [2], эта функция превращает допустим, амперсант (&) в "&amp"
$password = mysqli_real_escape_string($connect, $password); // обрабатываем пароль
$password = htmlspecialchars($password); // обрабатываем пароль [2]
Проверка на SQL Injection и не только проверена. Если SQL Injection там будут обнаружены, логин/пароль в зависимости где обнаружится превратится в 0 (точно не помню).
Осталось сделать запрос на взятия данных из таблицы СУБД. Если нужно по логину и паролю доставать, нужно указать "ГДЕ" (WHERE). А если нужно достать не только аккаунта данные, но и всё из таблицы, не нужно использовать WHERE.
Пример первый. (по логину и паролю).
$query = mysqli_query($connect, "SELECT * FROM `таблица` WHERE login = '$login' AND pass = '$password'");
login, pass это переменные в СУБД (столбец). Если аккаунт с таким логином и паролём найдётся мы получим этой строки данные (аккаунта). Если же не найдётся - ничего не вернёт.
Осталось преобразовать Resource Code в полноценный ресурс с помощью mysqli_fetch_assoc.
$resource = mysqli_fetch_assoc($query); // ресурс код который был в $query обработан в полноценные значения.
Давай теперь проверим, нашёлся ли аккаунт с таким логином или паролем, и допустим в СУБД был еще столбец с почтой, он называется Email.
if (mysqli_num_rows($resource)) { // если нам что-то вернуло
echo "Аккаунт найден".
echo "Ваша почта: ". $resource['Email'];
} else {
echo "Аккаунт не найден. ";
}
Так-же второй пример, если ничего не нужно, и надо достать всё с таблицы не нужно указывать WHERE в запросе. Так-же если нужно выводить всё с таблицы, а у вас это не получится, так как он вернёт вам только первую строку с СУБД, напиши мне тут в комментарии.
Ответ от Прим Палвер[гуру]
Люк Велинг, Лора Томсон. Разработка Web-приложений с помощью PHP и MySQL. Легко можно найти pdf.
Люк Велинг, Лора Томсон. Разработка Web-приложений с помощью PHP и MySQL. Легко можно найти pdf.
Ответ от 3 ответа[гуру]
Привет! Вот подборка тем с ответами на Ваш вопрос: Как данные получить из базы MySQL и занести их в переменную PHP?
Как в PHP создать DBF файл?
нашел по второму клику.. ты еврюга ленивая
<?php
//Имя файла
$filename =
подробнее...
Сравнение переменными PHP с данными из таблицы MySQL
присвоить одной переменной значение, которое получается с БД
if($l==$s}{echo('lol');}
подробнее...
Php + MySql Картинка и база данных. Как сделать что бы по клику на картинку менялась переменная в базе данных?
я не думаю чтоб вам нужно чтоб менялась переметная в БД
скорей вам нужен идентификатор картинки
подробнее...
спросили в User new User pdt
Вывод данных из базы данных PhpMyadmin
т. е вам нужно получить значение конкретного поля одной записи? Несколько записей не нужно выводить
подробнее...
Вывод данных из базы данных PhpMyadmin
т. е вам нужно получить значение конкретного поля одной записи? Несколько записей не нужно выводить
подробнее...
Плюсы и минусы MySQL или tpl (txt)?
Принципиальные преимущества БД перед обычными текстовыми/бинарными файлами:
1)
подробнее...
Ответ от 3 ответа[гуру]
Привет! Вот еще темы с похожими вопросами:
Что значит переменная $result в данной программе (PHP+MySQL). Почему в результате вып этой прогр в БД обр пустая строка?
в $result будет лежать обьект, чтоб из него получить данные, пользуйтесь функцией
подробнее...
спросили в Boogiepop Mozilla
Как работать с большими базами данных в PHP MySQL/Access?
Своими словами.. .После этого вызова: $result = mysql_query ("SELECT * FROM firstdb",$db); в
подробнее...
Как работать с большими базами данных в PHP MySQL/Access?
Своими словами.. .После этого вызова: $result = mysql_query ("SELECT * FROM firstdb",$db); в
подробнее...
База данных MyPhpAdmin
Ваш вопрос сейчас звучит примерно так: "у меня уже есть словарь русского языка, как вывести из него
подробнее...
PHP вывод изображения из базы данных Нужно через php вывести изображение из бд mysql. Как это сделать?
Не нужно этого делать.
Картинку надо хранить на диске.
В БД надо хранить только путь к
подробнее...
спросили в Drupal
Помогите я запутался, что такое хостинг и движок сайта ?
Приветствую!
Вот смотрите, я сделал сайт, то есть поставил движок (=CMS-система) , добавил
подробнее...
Помогите я запутался, что такое хостинг и движок сайта ?
Приветствую!
Вот смотрите, я сделал сайт, то есть поставил движок (=CMS-система) , добавил
подробнее...