$sql = "SELECT table_name FROM information_schema.tables WHERE table_type = 'base table' AND table_schema='PPcontent';";
$query = mysqli_query($con, $sql);
while($result = mysqli_fetch_array($query)){
echo "<option value=\"", $result[0], "\">", $result[0], "</option>";}
我正在尝试了解 mysqli 对象及其工作方式。我有上面的查询,我用它来查找数据库的表名并将它们插入到选择下拉列表中。当我使用类似的代码来填充另一个选择下拉列表时,我使用 $result['some_row_name']
在 while 循环运行时获取结果。然后我的 select 语句是 SELECT 'some_row_name from 'some_table'
当我使用上面的 select 语句执行此操作时,我需要使用索引 0 而不是“Table_name”。这是为什么?当我在 PHP MyAdmin 中运行上面的 select 语句时,我得到一个带有行名称“Table_name”的表,所以我认为我会使用它作为索引而不是 0。
最佳答案
mysql 通常对列名不区分大小写,因此如果列名为 MYCOLUMN,您可以在 mysql 控制台或使用 php 中按如下方式有效查询
SELECT mycolumn FROM mytable;
SELECT MYCOLUMN from mytable;
SELECT myColumn from mytable;
但是当您使用 php 的 mysqli_fetch_array 时,您将必须使用您在此处的查询中使用的准确大写来访问列数据。这是因为 PHP 在变量名方面区分大小写。对于不区分大小写的语言,这无关紧要。
如果您希望该列具有完全不同的名称,您可以使用别名
SELECT mycolumn AS some_other_name FROM mytable;
关于php - 使用 PHP 的 SQL SELECT 表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40621283/