gpt4 book ai didi

PHP/MySQL : What's Wrong With My Query/PHP variable in query

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

我已经使用 PHP 和 MySQL 编写代码大约一年了,并且已经很好地掌握了它;几个月来,使用连接和计算字段构建非常复杂的查询以及 MySQL 的所有其他乐趣对我来说都不是问题。

但是下面的代码块在语法上有一些我无法理解的问题 - 尽管它非常简单,而且更令人气愤的是,它与我正在处理的项目的其他部分密切相关(并且工作完美)。

这是我尝试运行的问题代码,然后是我已经完成的错误检查以尝试隔离问题。

如果有人有任何建议,我将不胜感激,因为我开始失去理智了。

问题:

我真的为此失去了理智,所以当你看到代码时请不要笑:

$query="SELECT count(somefield) FROM db_name WHERE otherfield='".$myvariable."'";

在字段搜索中使用某个变量时,我的查询没有找到任何结果 - 尽管我知道数据库中有 900 多条记录应该匹配。

错误检查:

  • 因为我知道要传递给查询的变量的值,所以我尝试将它硬编码到查询中并且它工作正常。
  • 我已经在 MySQL 控制台中运行了查询(当然,同样是硬编码而不是使用变量)并且它工作正常。
    • 在我看来,这两个事实排除了 PHP 版本的查询在语法上不正确的可能性。
  • 为了消除所有可能的数据库连接问题并确保问题与遍历返回的结果无关,我没有尝试获取实际结果,而是更改了我的原始查询以仅返回计数结果,并在连接序列中合并了标准的 或 die(mysql_error()) 语句。查询正在执行,但找到 0 个结果,因此排除了连接问题的可能性。
  • 我已经验证我正在检查的字段是我正在寻找的信息的正确字段(就像我说的,如果我将变量硬编码到查询中,它运行正常......当然,在完成的代码中不会是一个选项)。
  • 在尝试将变量传递到查询之前,我已经检查了它的类型(我想可能是因为它是从脚本前面返回的 xml 中提取的,它可能显示为数组或其他东西)。它输入为字符串。
  • 我已验证该变量的格式与我希望在数据库中找到的方式一致; strtoupper 等
  • 我试过使用 LIKE '%".$myvariable."'"; 还是不行。

有人对我能做些什么来弄清楚到底出了什么问题有什么建议吗?非常感谢!

最佳答案

这不是 PHP 问题,因此引号与它无关。查询没有错误,需要一步步调试。

我。 SELECT count(*) FROM table_name

二。 SELECT count(*) FROM table_name WHERE field='$myvariable'

在查询中处理 PHP 变量的地方,回显查询并直接在数据库中运行它以忽略 PHP 方面的错误。

三。 SELECT count(somefield) FROM table_name WHERE field='$myvariable'

关于PHP/MySQL : What's Wrong With My Query/PHP variable in query,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8176711/

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