如何从数据库列

时间:2017-07-18 22:00:07

标签: php mysqli echo mariadb column-defaults

从数据库中我可以通过下面的查询检索列的默认值。 也就是说,我可以从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&#39; binnen
        懊悔帮派&#39;,   groep varchar(16)DEFAULT NULL,
  omschrijving varchar(32)NOT NULL,   Prijs_Incl十进制(8,2)无符号NOT NULL,
  Prijs_Excl十进制(10,4)无符号DEFAULT NULL,
  variaties char(1)DEFAULT NULL COMMENT
              &#39; sterretje in tabel&#39;,
  aantal char(6)DEFAULT NULL,
  BTW tinyint(2)NOT NULL DEFAULT&#39; 7&#39;,
   主要关键(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'];  

并且工作正常,结果符合预期。

2 个答案:

答案 0 :(得分:0)

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

你可以检查一下,然后你应该只需要:

echo $row['column_default'];

所以我的测试运行:

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

enter image description here

...并从mysql客户端: enter image description here

=====

更新:

PHP输出:

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

答案 1 :(得分:0)

如果使用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()的好处是您可以使用索引以及列名来调用查询值!