【发布时间】:2018-10-19 08:09:52
【问题描述】:
我正在尝试获取列名和值,然后将列名设置为变量...有意义吗?
$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);
谁能指导我如何做到这一点?谢谢。
【问题讨论】:
-
“这有意义吗?” - 没有解释为什么你会想要那个 - 很少。 “编号”变量名称是您通常应该尽量避免使用的东西 - 这就是我们拥有数组的开始。
-
原因是列数(很多表中有很多列),而且代码看起来很长很繁琐,要声明每个变量。
-
不,我想知道为什么你(认为你)首先需要在“名称中带有数字的变量”中使用这个。您已经在 $row 中的一个不错的数组中拥有这些数据,那么究竟是什么阻止了您使用 that 来访问您的数据?
-
实际的列名是,ID,product_code,product_name,product_date,product_category1_id,product_category2_id,...等等。我不知道如何修复这个数据库结构和代码。在至少我可以设法用 extract 缩短代码:) 谢谢
-
这仍然不能解释为什么你认为有很多单独的变量浮动比直接访问数组中的值有任何优势。如果
$row['foo']和$row['bar']存在,您为什么要坚持单独提供$foo和$bar?尤其是如果列数实际上达到数百个......
标签: php mysql variables mysqli columnname