如何回显从数据库列中检索到的默认值
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() 的一个好处是您可以使用索引和列名调用查询值!
我可以通过下面的查询从数据库中检索列的默认值。
也就是说,我可以从 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() 的一个好处是您可以使用索引和列名调用查询值!