Loks
Смысл: Зная например ID сделать запрос данных из определенной колонки пользователя с данным ID например name.
И дополнительно ( отдельно ) зная ID заменить данные в определенном поле пользователя с данным ID пример neme.Как это реализовать на php 7.4
?
MouseZver
Loks
Как бы это не было странно но да я не могу найти способ как вытащить именно 1 нужную строку а не все данные из БД.
Если вы не «Забанины в Гугле» можете помочь потому что в php 7.4 я очень плохо разбираюсь.
lastdays
Например, GET параметр в URL
site.ru/?id=3PHP:
{ //- SELECT `id`, `name` FROM `users` WHERE `id`=? LIMIT 1 }Ну и основы читай в документации. Если что-то не получиться, приходи и показывай это.
p.s. если честно, учись пользоваться гуглом и не обижайся))
Вероломство
PHP:
// для брутальности можно ещё указать ‘max_range’ => PHP_INT_MAX
Loks
Проблема в том что у меня не получается самому разобраться мне необходимо зная ID пользователя узнать его имя если такой ID есть если я пытаюсь узнать что то то мне выдает все данные всех пользователей их ID имена пороли я не могу отправить запрос на просмотр одной интересующий меня колонки у конкретного пользователя меня интересует.
Drunkenmunky
Это самые азы SQL.
Вы что-то пытались почитать на эту тему?
Loks
Да пытался и как видно неудачно.
Drunkenmunky
Хорошо.
Откройте вашу базу данных в приложении phpMyAdmin. Знаете, хоть что это?
Loks
Да.
Вот есть код из документации как сделать так что бы он выводил данные только определенного пользователя под определенные указанным ID пример 38
<?php
$servername = «localhost»;
$username = «username»;
$password = «password»;
$dbname = «myDB»;// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die(«Connection failed: » . $conn->connect_error);
}$sql = «SELECT id, firstname, lastname FROM MyGuests»;
$result = $conn->query($sql);if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo»id: » . $row[«id»]. » — Name: » . $row[«firstname»]. » » . $row[«lastname»]. «<br>»;
}
} else {
echo»0 results»;
}
$conn->close();
?>
Drunkenmunky
Отлично.
Откройте какую-нибудь таблицу нажав на вкладку ‘обзор’
То, что вы видите, это ячейки таблицы. Это, как игра в Морской Бой — сверху буквы, слева цифры. Условно.
Только «цифры» во всех колонках.
Затем нажмите вкладку «поиск»
И в одном из появившихся полей впишите содержимое искомой ячейки.
Loks
Да информация занятная но как это сделать в php ?
Drunkenmunky
Скопировать SQL-команду, которая появится чуть выше результатов поиска
Примерно вот так она выглядитКод (Text):
SELECT * FROM `tablename` WHERE `columnname` =12345И использовать её в вашем php-сценарии
Loks
Спасибо!
miketomlin
Есть готовое решение: https://gency.ru/comment/125
Немного подробнее вчера писал здесь: https://php.ru/forum/posts/640338/
Loks
Каким образом вставить заместо ID=38 в коде пост запрос ?
у меня не получается (
$sql = «SELECT * FROM pff08_users WHERE ID=38 «;
$id = $_POST[‘id’];( через bind_param я настроить не смог )
MouseZver
@Loks выполнение кода происходит последовательно. Литературу учат читать снизу верх ?
Loks
( я для примера скинул )
а если вы имели что то другое я не понял )
Drunkenmunky
Код (Text):
$id = 0 if(isset($_POST[‘id’])) { $id = (int)$_POST[‘id’]; //только для полей с числовыми значениями, для строк по-другому } $sql = «SELECT * FROM pff08_users WHERE ID=$id «;
Loks
Выдало ошибку по данному отрезку .
Вот весь код для примера.<?php
$servername = «»;
$username = «»;
$password = «»;
$dbname = «
$id = $_POST[‘id’];// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
die(«Connection failed: » . $conn->connect_error);
}$sql = «SELECT * FROM pff08_users WHERE ID=38 «;
$result = $conn->query($sql);if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo «id: » . $row[«ID»]. » — Name: » . $row[«user_login»]. » » . $row[«user_email»]. «<br>»;
}
} else {
echo «0 results»;
}
$conn->close();
?>