php - 从 MySQL 获取值以检查单选按钮会生成通知

标签 php mysql

我正在尝试根据 MySQL 数据库中的值设置单选按钮的“选中”状态。该代码的主要目的是成为“编辑用户配置文件数据”脚本。我设法从数据库中获取所有信息,如果用户选择,所有内容都会按应有的方式进行编辑,但我似乎无法使单选按钮起作用。我收到以下消息:

注意:使用未定义的常量 Male - 在 C:\xampp\htdocs\Signup\user_panel.php 第 57 行假定为“Male”

我检查了此通知的 SO,但找不到与单选按钮和通知相关的任何内容。

这是代码:

<form action="includes/user_panel.php" method="POST">
                <table>
                    <tr>
                        <td><label for="email"> E-mail </label></td>
                        <td><input type="email" name="email" id="email" value="<?php echo "{$fetch['email']}"; ?>"></td>
                    </tr>
                    <tr>
                        <td><label for="first_name"> First name </label></td>
                        <td><input type="text" name="first_name" id="first_name" value="<?php echo "{$fetch['first_name']}"; ?>"></td>
                    </tr>
                    <tr>
                        <td><label for="last_name"> Last name </label></td>
                        <td><input type="text" name="last_name" id="last_name" value="<?php echo "{$fetch['last_name']}"; ?>"></td>
                    </tr>
                    <tr>
                        <td><label for="birthday"> Birthday </label></td>
                        <td><input type="date" name="birthday" id="birthday" value="<?php echo "{$fetch['birthday']}"; ?>"></td>
                    </tr>
                    <tr>
                        <td><label for="sex"> Sex </label></td>
                        <?php
                        if ($fetch['sex'] = male)
                        {
                            echo "<td><input type='radio' name='sex' value='male' id='sex' checked> Male <input type='radio' name='sex' value='female' id='sex'> Female </td>";
                        }
                        else
                        {
                            echo "<td><input type='radio' name='sex' value='male' id='sex'> Male <input type='radio' name='sex' value='female' id='sex' checked> Female </td>";
                        }
                        ?>
                    </tr>
                </table>
                </br>
                <input type="submit" name="edit_user" value="Edit" class="button_1">
                <input type="hidden" name="edit_user_data">
            </form>

附加信息:

$initial_email = $_SESSION['email'];
$username = $_SESSION['username'];
$query_user_panel="SELECT * FROM users WHERE email = '$initial_email' OR username= '$username'";
$result_user_panel=mysql_query($query_user_panel) or die (mysql_error());
$fetch = mysql_fetch_assoc($result_user_panel)

第 57 行是带有“if”的那一行。

向下滚动代码,您会看到应该检查性别的位置。我尝试使用“如果”,但这会生成我写的通知。

我知道 MySQL 已经过时了,我应该使用 MySQLi。如果您有时间,请同时检查此问题:Simplest MySQL to MySQLi transition

非常感谢,如果我需要编辑我的帖子或提供其他数据,请告诉我。

最佳答案

您的问题是您必须忘记使用 == 而不是 =,并且必须将 Male 放在引号中。

它应该是这样的:

if ($fetch['birthday'] == "Male")

此外,您确定生日字段是否正确以检查性别?

关于php - 从 MySQL 获取值以检查单选按钮会生成通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18803425/

相关文章:

php - zf2 插入使用 $db->insert($table, $data);风格

MYSQL 约束 - 多重检查

php - 类别层次结构 (PHP/MySQL)

MySQL 按最新值分组

MySQL select 最近三个月的记录

mysql - 如果一堆列满足某些条件而 GROUP BY 两次,如何不进行计数?

mysql - 合并两个表的输出具有相同的结构

javascript - 改变div里面的颜色,如果有的话?

javascript - 单击链接后如何保存 href 值

php - 选择带有单词 mysql 的 url 的 preg_match_all id