gpt4 book ai didi

php - 执行MySQL查询时如何获取错误值?

转载 作者:太空宇宙 更新时间:2023-11-03 10:27:01 24 4
gpt4 key购买 nike

假设我有这个查询:

SELECT  *
FROM students_results
WHERE full_name LIKE '".trim($_POST['full_name'])."'
AND mother_name LIKE '".$database->escape_value(trim($_POST['mother_name']))."'
AND birthday = '".$database->escape_value($_POST['year2'])."'"

我需要向访问者显示一条消息,告诉他输入了错误的名字、错误的母亲名字或错误的年份。

现在,我向用户显示他输入了错误值的消息,我想显示有关他输入了哪些错误值的详细信息。

提前致谢。

最佳答案

好的。有点麻烦:

SELECT
IF(`full_name` = ?,1,0)
| IF(`maiden_name` = ?,2,0)
| IF(`birthday` = ?,4,0)
AS `correctness_mask`
WHERE
`full_name` = ?
OR `maiden_name` = ?
OR `birthday` = ?
HAVING
`correctness_mask` != 0

如果对于检索到的行,correctness_mask 为 7 (1 | 2 | 4),则您得到了正确的行。对于所有其他行,您必须检查是否在该掩码中设置了适当的位。

顺便说一下,请注意查询中的问号。这是我暗示你使用 prepared statements而不是将 $_POST 值直接插入到您的查询字符串中。

关于php - 执行MySQL查询时如何获取错误值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4649953/

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