php - 用户从下拉菜单中选择运算符并在 PHP 函数中使用它

标签 php mysql html operators where-clause

我想在这里实现的是用户选择一个运算符,例如+、>、<、>= 等,并在 PHP 的 Select 语句中使用它。

我的 HTML 代码:

                <label for="grade">Grade: </label>
                <select name="operator" id="operator">
                    <option value="">Select one</option>
                    <option value="<">Less than</option>
                    <option value=">">More than</option>
                    <option value="=">Equals to</option>
                </select>
                <input type="text" name="grade" id="grade" size="2" maxlength="2">
                </input>

我的 PHP 代码:

    $operator = mysqli_real_escape_string($link, $_GET['operator']);
$grade = mysqli_real_escape_string($link, $_GET['grade']);
if ($grade != '') {
    $where .= " AND grade . '$operator' . '$grade'";
}

我想要实现的是“AND grade > 3”。 “3”可能是另一个数字。

我如何更改我的代码以使 PHP 接受它作为正确的语句。请原谅我在这里的错误解释。

最佳答案

你不应该引用运算符(operator):

$where .= " AND grade $operator  '$grade'";

虽然你已经逃脱了成绩,但我会进一步检查运算符(operator)是否是你预期的运算符(operator)之一,例如

if (($grade!='') && in_array($operator, array('>', '<', '=')))
{
    ....
}

关于php - 用户从下拉菜单中选择运算符并在 PHP 函数中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3572940/

相关文章:

asp.net - 如何在 mysql 查询中用“替换”?

jquery - 如何在递归菜单中只选择顶级 li?

javascript - 如果提交,确认电子邮件不会删除验证消息,但表单的其他元素需要填写

php - 通过 PHP 访问 Twitter API

php - Codeigniter 中 AND 的事件记录

java - Spring MVC/Hibernate/mySQL "read"始终为空

php - 在指定 WHERE 之前没有 MySQL 结果

javascript - 如何修复这个简单的 Accordion ,JavaScript 不工作

php - 使用 phpMailer 和 PHP 从表单发送文件附件

php - 生成的 Postgresql 进程可以由 spawner PHP 脚本控制吗?