MySQL查询在localhost和网站上的行为方式不同

时间:2015-10-19 20:00:08

标签: php ajax

用户在文本框中键入someones username并使用AJAX我自动向用户建议单词(用户名)。

这是MySQL查询所在的AJAX代码,并将其打印出来:

SUM()

这一切都在我的localhost上运行得很好。当我输入'Joe'时,它给了我10行名字,就像'Joe',按照得分排序(Joe得分最高)。

问题是,当我在我的网络服务器上使用它时,它只给出了10个得分最高的玩家。它关注你输入的内容,它从所有玩家中选择(甚至与Joe无关)。那是什么导致了这个? 它们都使用相同的数据库,所有文件都相同等。

2 个答案:

答案 0 :(得分:2)

正如我们在评论中所讨论的,您的代码段显示您正在使用mysqlmysqli函数。你应该选择一个并坚持下去。 mysqli强烈首选,因为mysql已被弃用。

mysql_error() - > mysqli_error()

mysql_real_escape_string($search_text) - > mysqli_real_escape_string($search_text)

答案 1 :(得分:1)

评论是正确的,这是函数调用。

mysql_real_escape_string()需要现有或以前的mysql_connect()连接,请参阅the manual中的错误说明。看起来你正在使用mysqli。

可能是一个错字,但如果你混合它们,它们就不能很好地混合。

考虑使用像PDO这样的东西 - mysql和mysqli扩展都被弃用了。删除了PHP7(参见页面顶部的弃用通知)。

编辑:在提交答案时参考了正确的评论。