Я пытаюсь получить имена столбцов и их значения, а затем установить имена столбцов в переменные … Имеет ли это смысл?
$con = mysqli_connect('localhost', 'mysql_user', 'mysql_password', 'db_name');
$sql = "SELECT * FROM `table`";
$res = mysqli_query($con,$sql);
while($row = $res->fetch_assoc()) {
$column1 = $row['column1']; // <- can these be
$column2 = $row['column2']; // as simple as one
...
$column100 = $row['column100']; // line or two?
}
mysqli_close($con);
Кто-нибудь может подсказать мне, как это сделать? Благодарю.
Вы можете использовать строку для объявления переменной, называемой переменные переменные
while($row = $res->fetch_assoc()) {
foreach ($row as $key => $value)
$$key = $value;
// ^----------------------notice the double dollar
}
Или вы можете использовать экстракт
while($row = $res->fetch_assoc()) {
extract($row);
}
Чтобы убедиться, что вы не хотите перезаписывать некоторые уже существующие переменные, вы можете добавить их в префикс.
while($row = $res->fetch_assoc()) {
foreach ($row as $key => $value)
$someNicePrefix_{$key} = $value;
// ^----^-------------notice the curly brackets
}
Используя extract, вы можете добавить больше параметров (описано в документации, указанной выше)
while($row = $res->fetch_assoc()) {
extract($row, EXTR_PREFIX_ALL, "someNicePrefix");
}
Оба метода будут иметь одинаковый эффект. Обратите внимание, что для извлечения персонажа _
будет вставлен между префиксом и именем переменной
Других решений пока нет …