Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/235.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 品牌为b 在p.brand_id=b.id上 内部连接gf_产品_功能作为pf 关于pf.product_id=p.id 内部连接gf_特征为f 在pf.feature_id=f.id上 按价格订购ASC, 特征_id ASC'; $result=mysq_Php_Mysql_Phpmyadmin - Fatal编程技术网

Php 品牌为b 在p.brand_id=b.id上 内部连接gf_产品_功能作为pf 关于pf.product_id=p.id 内部连接gf_特征为f 在pf.feature_id=f.id上 按价格订购ASC, 特征_id ASC'; $result=mysq

Php 品牌为b 在p.brand_id=b.id上 内部连接gf_产品_功能作为pf 关于pf.product_id=p.id 内部连接gf_特征为f 在pf.feature_id=f.id上 按价格订购ASC, 特征_id ASC'; $result=mysq,php,mysql,phpmyadmin,Php,Mysql,Phpmyadmin,品牌为b 在p.brand_id=b.id上 内部连接gf_产品_功能作为pf 关于pf.product_id=p.id 内部连接gf_特征为f 在pf.feature_id=f.id上 按价格订购ASC, 特征_id ASC'; $result=mysqli_查询($mysqli,$sql);//另一个单一的查询。最后一个。 while($row=mysqli\u fetch\u assoc($result)) { //我的东西在这里。。。 } }; // @功能结束 CREATE TEMP

品牌为b 在p.brand_id=b.id上 内部连接gf_产品_功能作为pf 关于pf.product_id=p.id 内部连接gf_特征为f 在pf.feature_id=f.id上 按价格订购ASC, 特征_id ASC'; $result=mysqli_查询($mysqli,$sql);//另一个单一的查询。最后一个。 while($row=mysqli\u fetch\u assoc($result)) { //我的东西在这里。。。 } }; // @功能结束
CREATE TEMPORARY TABLE hash1
      SELECT * FROM
      (
        (
            SELECT DISTINCT feature_id AS fl, feature_value AS fv FROM gf_product_features WHERE feature_id = '1' AND feature_value = 'No frost total'
        ) UNION 
        (
            SELECT DISTINCT feature_id AS fl, feature_value AS fv FROM gf_product_features WHERE feature_id = '3' AND feature_value = '43'
        )) AS q;


      CREATE TEMPORARY TABLE hash2
        SELECT * FROM hash1;

        SELECT 
          p.id AS id, 
          p.main_image AS main_image, 
          p.type AS taxonomy, 
          p.name AS model, 
          p.sku AS sku, 
          p.price AS price, 
          b.brand_name AS brand_name, 
          b.brand_image AS brand_logo,
          pf.feature_value AS feature_value, 
          f.feature AS feature_label,
          f.id AS feature_id
        FROM
        (
          SELECT  a.*
          FROM    gf_product AS a
          INNER JOIN
          (
            SELECT product_id
            FROM
            (
              SELECT a.product_id , count(*) AS commons
              FROM   gf_product_features AS a
              INNER JOIN hash1 AS b 
                ON    a.feature_id = b.fl 
                AND   a.feature_value = b.fv 
              GROUP BY a.product_id 
              ) AS features
              WHERE commons = (SELECT count(*) AS count FROM hash2)  
            ) b1 ON a.id = b1.product_id 
          ) AS p
        INNER JOIN  gf_brands AS b 
            ON p.brand_id = b.id
        INNER JOIN  gf_product_features AS pf 
            ON pf.product_id = p.id   
        INNER JOIN  gf_features AS f 
            ON pf.feature_id = f.id
        ORDER BY    price ASC, 
                    feature_id ASC
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'CREATE TEMPORARY TABLE hash2
        SELECT * FROM hash1;

        SELECT 
       ' at line 12
Warning: mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in /www/htdocs/example/inc/functions.php on line 538
while ($row = mysqli_fetch_assoc($result))
CREATE TEMPORARY TABLE hash2
        SELECT * FROM hash1;
 #1137 - Can't reopen table: 'b'
    function getProductsFromFilteredQuery($connection, $filters, &$html)
{
    $sql = '';
    $m = count($filters); // $filters are an array of values like this: ['value1A, value2A', 'value1B, value2B', ...]

    $sql = 'CREATE TEMPORARY TABLE hash1
      SELECT * FROM
      (';

    for ($n = 0; $n < $m; $n++)
    {
        $string                 = explode(', ', $filters[$n]);
        $feature_id         = $string[0];
        $feature_value  = $string[1];

        $sql .= "
        (
            SELECT DISTINCT feature_id AS fl, feature_value AS fv FROM gf_product_features WHERE feature_id = '" . $feature_id . "' AND feature_value = '" . $feature_value . "'
        )";

        if ($n < ($m - 1))
        {
            $sql .= ' UNION ';
        }
    }


    $sql .=  ') AS q;


      CREATE TEMPORARY TABLE hash2 -- In this line I get an error
        SELECT * FROM hash1;

        SELECT 
          p.id AS id, 
          p.main_image AS main_image, 
          p.type AS taxonomy, 
          p.name AS model, 
          p.sku AS sku, 
          p.price AS price, 
          b.brand_name AS brand_name, 
          b.brand_image AS brand_logo,
          pf.feature_value AS feature_value, 
          f.feature AS feature_label,
          f.id AS feature_id
        FROM
        (
          SELECT  a.*
          FROM    gf_product AS a
          INNER JOIN
          (
            SELECT product_id
            FROM
            (
              SELECT a.product_id , count(*) AS commons
              FROM   gf_product_features AS a
              INNER JOIN hash1 AS b 
                ON    a.feature_id = b.fl 
                AND   a.feature_value = b.fv 
              GROUP BY a.product_id 
              ) AS features
              WHERE commons = (SELECT count(*) AS count FROM hash2)  
            ) b1 ON a.id = b1.product_id 
          ) AS p
        INNER JOIN  gf_brands AS b 
            ON p.brand_id = b.id
        INNER JOIN  gf_product_features AS pf 
            ON pf.product_id = p.id   
        INNER JOIN  gf_features AS f 
            ON pf.feature_id = f.id
        ORDER BY    price ASC, 
                    feature_id ASC';

    $result = mysqli_query($connection, $sql);

    while ($row = mysqli_fetch_assoc($result)) // In this line I get an error too
    {
        // Do some stuff... and at last, return the resulting $html
    }
};
function getProductsFromFilteredQuery($mysqli, $filters, &$html) {
$sql = '';
$m = count($filters);

$sql        = 'DROP TEMPORARY TABLE IF EXISTS hash1;';
$result = mysqli_query($mysqli, $sql); // A single query

$sql        = 'DROP TEMPORARY TABLE IF EXISTS hash2;';
$result = mysqli_query($mysqli, $sql); // Another single query

$sql        = 'CREATE TEMPORARY TABLE hash1
  SELECT * FROM
  (';

for ($n = 0; $n < $m; $n++)
{
    $string                 = explode(', ', $filters[$n]);
    $feature_id         = $string[0];
    $feature_value  = $string[1];

    $sql .= "
    (SELECT DISTINCT feature_id AS fl, feature_value AS fv FROM gf_product_features WHERE feature_id = '" . $feature_id . "' AND feature_value = '" . $feature_value . "')";

    if ($n < ($m - 1))
    {
        $sql .= ' UNION ';
    }
}


$sql .=  ') AS q1';
$result = mysqli_query($mysqli, $sql); // Another single query

$sql =  'CREATE TEMPORARY TABLE hash2
    SELECT * FROM hash1;';
$result = mysqli_query($mysqli, $sql);  // Another single query

$sql = 'SELECT 
              p.id AS id, 
              p.main_image AS main_image, 
              p.type AS taxonomy, 
              p.name AS model, 
              p.sku AS sku, 
              p.price AS price, 
              b.brand_name AS brand_name, 
              b.brand_image AS brand_logo,
              pf.feature_value AS feature_value, 
              f.feature AS feature_label,
              f.id AS feature_id
            FROM
            (
              SELECT  a.*
              FROM    gf_product AS a
              INNER JOIN
              (
                SELECT product_id
                FROM
                (
                  SELECT a.product_id , count(*) AS commons
                  FROM   gf_product_features AS a
                  INNER JOIN hash1 AS b 
                    ON    a.feature_id = b.fl 
                    AND   a.feature_value = b.fv 
                  GROUP BY a.product_id 
                  ) AS features
                  WHERE commons = (SELECT count(*) AS count FROM hash2)  
                ) b1 ON a.id = b1.product_id 
              ) AS p
            INNER JOIN  gf_brands AS b 
                ON p.brand_id = b.id
            INNER JOIN  gf_product_features AS pf 
                ON pf.product_id = p.id   
            INNER JOIN  gf_features AS f 
                ON pf.feature_id = f.id
            ORDER BY    price ASC, 
                        feature_id ASC';

$result = mysqli_query($mysqli, $sql);  // Another single query. The last one.

while ($row = mysqli_fetch_assoc($result))
{
    // My stuff here...
}
}; // @END of function