gpt4 book ai didi

php - 无法在 PHP 中查看 MYsql 中的 NULL 值

转载 作者:行者123 更新时间:2023-11-29 07:00:10 25 4
gpt4 key购买 nike

我有一个包含一些 Role_codes 的表查找下表

enter image description here

我能够从表中获取所有不同的 role_code,但在 NULL 的情况下,结果为空。

下面的代码相同:

    <?php

if ($role_code === 'BOB')
{
$sql = "SELECT distinct role_code FROM `create_user`";
$result = $pdoConn->query($sql);
if ($result !== false)
{
echo "<div class='w3-container w3-responsive w3-round w3-padding-
large' style='width:95%;margin:10px;'>";
echo " <h4 class='w3-text-indigo'>Admin please select role to view
record.</h4>
<select id='view_record' name='view_record' class='w3-input w3-light-grey' style='width:90%'><option value='select Role'>Select Role</option>";
while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
$role_id = $row["role_code"];
echo "<option value=$role_id>" . $row["role_code"] . "</option>";
}

echo "</select></div>";
}
}

上面的代码返回所有唯一值,但在 Null 的情况下返回空白。

最佳答案

HTML 内容中没有 null 的概念。当您在 PHP 中 echo null 时,您会得到一个空字符串。我建议将 while 语句更改为:

while ($row = $result->fetch(PDO::FETCH_ASSOC))
{
$role_id = $row["role_id"];
echo "<option value='" . (is_null($role_id) ? "null" . $role_id) . "'>" . $row["role_id"] . "</option>";
}

...然后将 option 的值设置为字符串 "null"。然后,当表单提交后在服务器端接收回数据时,您可以像这样转换回 null:

$role_id = ($_POST['view_record'] === 'null' ? null : (int)$_POST['view_record']);

这样做意味着您不仅可以来回保留 null 值,还可以满足 role_id = 0,并且将客户端数据从字符串(所有 HTML 发布的变量都是如此)转换为正确的数据库类型。

关于php - 无法在 PHP 中查看 MYsql 中的 NULL 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43751526/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com