从数据库中,我可以通过下面的查询检索列的默认值。也就是说,我可以从 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 等,由 Paul T. 在 dbForge 客户端中格式化
$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'];
这有效,结果如预期。