-6ren">
gpt4 book ai didi

php - Mysqli 语句返回错误

转载 作者:行者123 更新时间:2023-11-29 12:36:13 24 4
gpt4 key购买 nike

我正在尝试使用此 mysqli 语句从我的数据库返回正确的数据

$resulttwo = mysqli_query($link, "
SELECT
*
FROM
Events
WHERE
time >= '%$lasttime%'");

变量“lasttime”是一个非常高值的 float 。数据库中的数字都低于这个数字。但是,当我使用此语句时,它会返回数据库中的所有行。我不明白为什么使用这种比较会产生不正确的结果。我有什么遗漏的吗?

最佳答案

'%$lasttime%' 是一个字符串,在数字比较中使用时等于零。正如您所说, time 可能是一个字符串列,但是当您使用 >= 时,它会成功转换为数字。如果 $lasttime 等于 12345 并且 $time 等于 54321,则比较结果为 54321 >= '%12345%',相当于 54321 >= 0,如 ' %12345%' 不会转换为 int。

测试:

select '%12345%' = 0, '12345' = 0

返回 TRUE(因为这是一个非数字字符串,其值为 0)和 FALSE(因为该字符串可以转换为 12,345,并且不等于 0)。

我不知道您为什么要在此查询中使用通配符。

关于php - Mysqli 语句返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26747865/

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