如何回显从数据库列中检索到的默认值

how to echo a retrieved default value from a database column

我可以通过下面的查询从数据库中检索列的默认值。 也就是说,我可以从 phpMyAdmin 和 dbForge Studio。可以通过 mysqli,但我无法得到回显的值 (TINYINT)。
需要它用默认值填充(可更正和隐藏)表单输入框。 作为一个值,$btwl 保持为空;该列中单个记录上使用的相同代码有效。 所以,我希望有另一种类型的提取需要回显一个默认密码,但我找不到任何文档如何做。感谢帮助。

    require ("dbconn.inc.php");
    //this should be the desired output retrieved from information_schema
    $Qdefault = "SELECT column_default
          FROM information_schema.columns
          WHERE table_name = 'keuken'
          AND column_name = 'BTW'
          LIMIT 1";
    $resultdefault = $mysqli->query($Qdefault);

      while ($row= $resultdefault->fetch_assoc()){
      $btwl= $row['BTW'];

      echo $row['BTW']. $row['Default']. $btwl . "%  at least 2x the value expected<br><br>";
        }

这没有任何价值。默认列值已填充。
查询经过双重检查,并在远程主机和本地的 phpMyAdmin 和 dbForge Studio 中给出预期值 6。

SELECT CREATE TABLE KEUKEN
  CREATE TABLE `keuken` (    
  `ArtNr` int(5) unsigned NOT NULL,  
  `reeks` varchar(16) NOT NULL COMMENT 'binnen                                                         
        reeks op hoofdingredient of gang',                                                       
  `groep` varchar(16) DEFAULT NULL,  
  `omschrijving` varchar(32) NOT NULL, 
  `Prijs_Incl` decimal(8,2) unsigned NOT NULL,                                                    
  `Prijs_Excl` decimal(10,4) unsigned DEFAULT NULL,              
  `variaties` char(1) DEFAULT NULL COMMENT       
              'sterretje in tabel',               
  `aantal` char(6) DEFAULT NULL,   
  `BTW` tinyint(2) NOT NULL DEFAULT '7',     
   PRIMARY KEY (`ArtNr`)    
  ) ENGINE=InnoDB DEFAULT CHARSET=utf8  

SELECT column_default etc, format by Paul T. in dbForge client

    $Q = "SELECT column_default FROM information_schema.`COLUMNS` where 
    table_name = 'keuken'";
    $result = $mysqli->query($Q);
    while ($row= $result->fetch_assoc()){
    echo $row['column_default'];  

成功了,结果符合预期。

对我来说,列的名称实际上是 column_default,而您的 SELECT 查询具有相同的列。因此,BTW 不会成为查询结果的一部分,Default.

也不会。

你能检查一下吗,然后你应该只需要:

echo $row['column_default'];

所以对于我的测试运行:

SELECT column_default FROM information_schema.`COLUMNS` where table_name = 'tryMe' and column_name = 'date' 

...来自 mysql 客户端:

=====

更新:

PHP 输出:

array(1) { [0]=> array(1) { ["column_default"]=> string(17) "CURRENT_TIMESTAMP" } } 

如果您使用 Php 调用数据库值,您将使用 Mysqli

$query="SELECT email_id FROM students";
$result=mysqli_query($connection,$query);

列值作为数组存储在 $result 变量中

while($row = mysqli_fetch_array($result)) {
    echo $row[0];
}

使用 mysqli_fetch_array() 的一个好处是您可以使用索引和列名调用查询值!