如何在从另一个查询中获取数据内部进行查询

时间:2016-05-05 10:44:33

标签: php mysql mysqli

我找不到任何有关解决此问题的信息。 我有一个函数,它使查询和循环通过表。 它的updateBGItems 在循环中我使用updateBGItem来更新mysql中的价格和日期。

function updateBGItems($conn)
{
    if ($conn->connect_error)
    {
        die("Błąd połączenia: " . $conn->connect_error);
    }
    $query = 'SELECT `product`,`sku` FROM `bang_itemy`';
    if ($stmt = $conn->prepare($query)) 
    {
        $stmt->execute();
        $stmt->bind_result($product, $sku);
        while ($stmt->fetch()) {
            echo $product . '|' . $sku . '<br/>';
            updateBGItem($conn, $product, $sku);
        }
        $stmt->close();
    }
    $conn->close();
}

这是另一个功能:

function updateBGItem($conn, $productid, $sku)
{
    date_default_timezone_set('Europe/Warsaw');
    $czas = date('H:i:s d.m.Y', time());
    $ceny = checkBGPrice($sku, $productid, 45);

    if ($conn->connect_error)
    {
        die("Błąd połączenia: " . $conn->connect_error);
    }
    $dodaj = $conn->prepare("UPDATE `bang_itemy` SET `priceusd` = ?, `pricepln` = ?, `data` = ? WHERE `product` = ? AND `sku` = ?;");
    $error = $conn->errno . ' ' . $conn->error;
    echo $error; 
    $dodaj->bind_param("sssss", $ceny['cenausd'], $ceny['cenapln'], $czas , $productid, $sku);
    if ($dodaj->execute() === TRUE) 
    {
        $dodaj->close();
        $conn->close();
        return true;
    }
    else
    {
        $dodaj->close();
        $conn->close();
        return false;
    }
}

经过大量调试后,我读到了这条消息:

  

2014年命令不同步;你现在不能运行这个命令   当我拿到另一个时,我该怎么做才能运行查询?

感谢您的帮助

0 个答案:

没有答案