На данный вопрос уже ответили:
Допустим id равен 12345.Мне нужно вытащить переменную boss у этого id. и записать в переменную q.Как можно оформить такой запрос в базе данных?
$q = $mysqli->query("SELECT `id`, `boss` FROM `users` WHERE 1");
В SQL запросе после оператора WHERE нужно явно указать не значение, а выражение (сравнение, вхождение, условие). В данном случае можно сравнить id с требуемым номером.
Далее нужно считать строку из запроса, в том случае, если число строк после обработки запроса больше 0, и получить значение переменной. В противном случае обработать ошибку.
$id = "12345";
$sql = "SELECT boss FROM users WHERE id=$id";
$result = $mysqli->query($sql);
if ($result->num_rows > 0) {
$row = mysql_fetch_assoc($result);
$q = $row["boss"];
echo "Boss: $q";
} else {
echo "We have no record with id $id";
}
Старшие товарищи еще советуют делать все безопасно, и я с ними соглашусь - для таких языков как php, к сожалению, это огромная проблема, сравнимая с выстрелом в ногу: не использовать на прямую переменные в SQL запросах, так как это может закончится плачевно для данных в базе данных.
Если, к примеру у нас id передается как параметр get запроса, то
$stmt = $mysqli->prepare("SELECT boss FROM users WHERE id=?");
$stmt->bind_param('d', $id);
$id = intval($_GET['id']);
if ($stmt->execute()) {
if ($row = $stmt->fetch()) {
$q = $row["boss"];
echo "Boss: $q";
} else {
echo "We have no record with id $id";
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
у меня есть 3-х уровневый dep drop, при сохранении значения поступают в базу, но при update выходит значение только 1-вого уровня, а вот остальные два...
Ребят кто может объяснить как работает система подписок, ну чтобы отображалось число а при клике отображать их имена