Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP使用两个不同的函数获取数据_Php_Mysql - Fatal编程技术网

PHP使用两个不同的函数获取数据

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

我有一个问题,也许我做错了 因为我创建了两个不同的搜索函数,它们有自己不同的搜索函数 一个是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 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中添加、弃用和删除的内容。。找不到注释。