gpt4 book ai didi

PHP 变量和 MySQL LIKE 查询不起作用

转载 作者:行者123 更新时间:2023-11-29 04:44:59 25 4
gpt4 key购买 nike

我有以下代码:

$surname=$_POST['surname'];
$sql2="SELECT * FROM andriana WHERE surname LIKE '$surname%'";
if (!mysql_query($sql2,$con)){
die('Error: ' . mysql_error());
}
$result2 = mysql_query($sql2);

echo "<table>";
while ($data = mysql_fetch_array($result2)) {
echo "<tr>";
echo "<td style='width:100px;height:40px'>".$data['name']."</td>";
echo "<td style='width:100px;height:40px'>".$data['surname']."</td>";
echo "<td style='width:100px;height:40px'>".$data['checkIN']."</td>";
echo "</tr>";
}
echo "</table><br><br>";

假设我的表中有以下记录:

- Surname -
Greyjoy
Lannister
Stark

发生的情况是,如果我不输入完整的姓氏,它会抛出该姓氏不存在的错误。结果,LIKE "%"不起作用。

我试过 LIKE '".$surname."$' 或 LIKE '{$surname}%',但也没有任何反应。

我在 Stack 里搜索了很多,看起来上面的测试应该是可行的。

我错过了什么?

  • 评论后编辑 -

为了更好地理解,我确信该变量包含字符串形式的实际姓氏,因为如果我键入整个姓氏,我的应用程序将正常运行。但是,如果我键入前 3 个字母(或 4 个...),应用程序会返回我自制的消息,指出键入的姓氏错误。

另外,为了解决区分大小写的问题,我的测试是用一个只有小字符的姓氏完成的。

谢谢大家的努力,问题依旧!

最佳答案

确保 surname 有一个值,并且您正在向它传递一个值。我建议做一个 var dump

$surname=$_POST['surname'];
var_dump($surname);

这将向您显示 $surname 等于什么的值,如果它什么都不是,那么这就是您的查询不起作用的原因。

关于PHP 变量和 MySQL LIKE 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20638955/

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