MariaDB和PHP - 查询未按预期工作

3

我正在运行什么(为了避免显而易见的问题)

Database:                MariaDB ver. 10.0.20
Database client-version: libmysql - 5.6.27
PHP-version:             5.6.4
MYSQL-Extension:         mysqli

我决定将数据库迁移到MariaDB。虽然我之前一直使用PHP和Mysql没有遇到什么问题,但现在发现从数据库中选择的值有些奇怪。

当我执行以下查询时:

SELECT `stock_ticker`, `stock_simpleName` FROM `stocks` WHERE `stock_ticker` LIKE '%mon%' OR `stock_simpleName` LIKE '%mon%'

我得到了两个正确的结果(MonsantoMondelez)。当我在PHP中运行相同的查询时,我得到了PHP想给我的一切。


我已经分解了PHP代码好几天,我保证,代码没有问题。它在其他PHP和Mysql项目中完美地工作。我已经确定这是PHP和MariaDB之间的交叉问题,可能使用了mysqli扩展。不过,我不知道问题出在哪里。还有谁知道可能是什么问题吗?拜托了!这事让我烦恼多日。也许只需要一个简单的谷歌搜索,但我搜过的所有内容都没有用。


1
“whatever the hell PHP wants to give you”是什么意思?使用PHP的结果每次都不同,即使是相同的查询?还是说它们与MySQL的结果不同,但对于相同的查询每次都是相同的? - Mike
3
您得到了哪些不正确的结果? - J.S. Orris
@Mike,我的意思是每次都一样,但它给出的值与PHPMyAdmin MariaDB查询结果不一致。 - Mitch
@JeffOrris,它们是一致的但是结果不正确。就好像MariaDB会忽略通过PHP发送的SQL语句一样。 - Mitch
1
@Mitch,你能举几个错误结果的例子吗? - Mike
回显出错语句以及它选中的名称。 - Rick James
1个回答

0

你检查过连接了吗?你能否编辑你的问题并提供更多关于数据库名称等方面的信息?也许,你正在PHP上连接到错误的数据库!

我曾经遇到过类似的问题,但是那是我的错,我忘记在我的PHP连接配置中更改名称了。


我只有一个数据库。它执行基本查询,例如 SELECT * FROM stocks WHERE stock_simpleName = '$value',但是如果查询更复杂,它会出现问题。 - Mitch
1
@mitch 阅读此文 https://mariadb.com/kb/en/mariadb/mariadb-vs-mysql-compatibility/ 可能会有所启示。 - J.S. Orris

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接