PHP使用两个不同的函数获取数据
我有一个问题,也许我做错了 因为我创建了两个不同的搜索函数,它们有自己不同的搜索函数 一个是SKU,一个是日期PHP使用两个不同的函数获取数据,php,mysql,Php,Mysql,我有一个问题,也许我做错了 因为我创建了两个不同的搜索函数,它们有自己不同的搜索函数 一个是SKU,一个是日期 我已经为MySQL和Workbench创建了一个代码,它在我使用时运行良好 SELECT settlement_id, sku FROM settlements WHERE sku LIKE 'ISCE%' AND settlement_id LIKE '7072432852' GROUP BY sku HAVING sku IS NOT
我已经为MySQL和Workbench创建了一个代码,它在我使用时运行良好
SELECT
settlement_id, sku
FROM
settlements
WHERE
sku LIKE 'ISCE%'
AND settlement_id LIKE '7072432852'
GROUP BY sku
HAVING sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY sku
它表现得很好
我对PHP页面使用相同的函数
$output = '';
if (isset($_POST["query"])) {
$search = mysqli_real_escape_string($conn, $_POST["query"]);
$queryskulist = "
SELECT
settlement_id,
sku,
FROM settlements
WHERE sku LIKE '%" . $search . "%' and settlement_id LIKE '%" . $search . "%'
GROUP BY sku
HAVING sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY sku
";
} else {
$queryskulist = "
SELECT
settlement_id,
sku,
FROM settlements
GROUP BY sku
HAVING sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY sku ";
}
如你所见
WHERE sku LIKE '%" . $search . "%' and settlement_id LIKE '%" . $search . "%'
这就是我得到一个错误的地方,因为我只能从这样一个函数中获取数据
WHERE sku LIKE '%" . $search . "%'
但是我无法获得两个不同的搜索结果,我是否应该使用两个不同的查询$\u POST[“查询”]
任何建议都会很好,或者示例/示例演示PHP站点也会很好,它会帮助我了解它的整体情况。你没有聚合功能吗
SELECT
settlement_id
, sku
FROM settlements
WHERE sku LIKE 'ISCE%'
AND settlement_id LIKE '7072432852'
WHERE sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY sku
SQL中不推荐使用group by WITH aggreagtion函数。。在最新版本的mysql中是不允许的。。(默认情况下)
使用group by而不使用聚合函数可能会获得不可预测的结果如果没有聚合函数,您应该在何处使用
SELECT
settlement_id
, sku
FROM settlements
WHERE sku LIKE 'ISCE%'
AND settlement_id LIKE '7072432852'
WHERE sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY sku
SQL中不推荐使用group by WITH aggreagtion函数。。在最新版本的mysql中是不允许的。。(默认情况下)
使用group by而不使用聚合功能可以获得不可预测的结果您可以使用以下方法解决此问题
SELECT
settlement_id,
sku
FROM
settlements
WHERE
(CONCAT(sku, settlement_id) LIKE '%" . $search . "%')
AND
sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY
sku
或者,您应该能够用括号括起来
WHERE (sku LIKE '%" . $search . "%') OR (settlement_id LIKE '%" . $search . "%')
您可以使用以下方法修复此问题
SELECT
settlement_id,
sku
FROM
settlements
WHERE
(CONCAT(sku, settlement_id) LIKE '%" . $search . "%')
AND
sku IS NOT NULL AND LENGTH(sku) > 0
ORDER BY
sku
或者,您应该能够用括号括起来
WHERE (sku LIKE '%" . $search . "%') OR (settlement_id LIKE '%" . $search . "%')
感谢更新,我已经解决了这个问题,因为我已经决定删除“Sku”并保留它的其余部分,下面是发生的情况 “consolution_id”用于PHP页面上的选项下拉值,他们从MySQL中提取数据,并在输入框上使用“SKU”搜索框。输入框使用Javascript Ajax过滤器从“结算Id”数据中获取显示结果的数据 这是一个演示
感谢您的更新,我已经解决了这个问题,因为我已经决定删除“Sku”并保留它的其余部分,下面是发生的情况 “consolution_id”用于PHP页面上的选项下拉值,他们从MySQL中提取数据,并在输入框上使用“SKU”搜索框。输入框使用Javascript Ajax过滤器从“结算Id”数据中获取显示结果的数据 这是一个演示
为什么要使用无聚合功能?“我已经为MySQL和Workbench创建了一个代码,在我使用“
选择结算id,sku…”时,它工作正常。。。。GROUP BY sku
是无效的使用GROUP BY read阅读一个伟大的文档,谢谢,因为我还在学习MySQL的所有内容。谢谢你为什么要使用无聚合功能?“我已经为MySQL和Workbench创建了一个代码,当我使用“SELECT settling\u id,sku…”时,它工作正常。。。。GROUP BY sku
是无效的使用GROUP BY read阅读一个伟大的文档,谢谢,因为我还在学习MySQL的所有内容。感谢“SQL中不推荐使用group by WITH aggreagtion函数..并且最新版本的mysql中不允许使用uin..”真的吗?很好,你有有效的源代码吗?mysql 5.7文档@RaymondNijlandWell通过本页上的所有链接阅读,找不到与弃用声明相关的注释,我希望它是。。。还查看了他们在何处总结了MySQL 5.7中添加、弃用和删除的内容。。找不到注释。“SQL中不推荐使用group by WITH aggreagtion函数..并且最新版本的mysql中不允许使用uin..”真的吗?很好,你有有效的源代码吗?mysql 5.7文档@RaymondNijlandWell通过本页上的所有链接阅读,找不到与弃用声明相关的注释,我希望它是。。。还查看了他们在何处总结了MySQL 5.7中添加、弃用和删除的内容。。找不到注释。