我在使用旧版 PHP 框架时遇到了一些我无法追踪的奇怪行为。
我正在运行一个看起来像这样的查询
select * from table where column like '%word-anotherword%'
,我想从表中返回记录,其中列包含文本“word-anotherword”。 (列是一个长文本字段)。
当我在 phpMyAdmin 中运行这个查询时,我得到了预期的结果。但是当我从我们的框架内部运行它时,我没有得到任何结果。我在一个单独的 .php 文件中运行它,使用 mysql_link
、mysql_query
来运行查询,这也符合预期。
当我在将查询传递给 mysql_query
之前直接在框架中 echo
时,它的格式与我预期的一样。 IE。我们的框架并没有以某种意想不到的方式逃避它。
我假设我们的框架在某处覆盖了某些 PHP 设置以导致这种行为差异,但我没有运气去谷歌搜索它可能是什么。我找到了 this article ,这似乎是一个好的开始,但似乎也不太符合我所看到的,因为我在同一个 MySQL 设置上得到不同的行为。
任何正确方向的指示将不胜感激!
最佳答案
作为调试提示:
当您echo
您的查询时,您可能想确保您确实看到了数据 - 例如如果您正在 echo
-ing 到网页上,请确保您正在将 htmlspecialchars()
应用于该字符串。否则您可能不会发现一些变化。
关于php - LIKE 表达式中的 MySQL 连字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6432533/