"Команды не синхронизированы;"Ошибка подготовленной хранимой процедуры - PullRequest
1 голос
/ 13 января 2012

У меня возникли проблемы с выполнением второго подготовленного запроса после выполнения первой подготовленной хранимой процедуры. Я понимаю, что это потому, что я не могу буферизовать результаты в mySQL, но я не уверен, что именно я должен использовать, чтобы получить все результаты.

Я пробовал:

    $stmt->store_result();
    $stmt->fetch();
    $stmt->bind_result($var1, $var2);
    $stmt->free_result();

Но я все еще получаю ту же ошибку. Процедура работает нормально и предназначена только для возврата 1 строки, поэтому не уверен.

Полная ошибка:

Команды не синхронизированы; Вы не можете запустить эту команду сейчас

UPDATE:

Более соответствующий код:

$stmt = $mysqli->prepare('CALL createNewListing(?,?,?,?,?,?)');

$time = time();
$stmt->bind_param('sdssii', $listing['title'], $listing['price'], $_SESSION['user']['id'], $listing['description'], $time, $listing['featured']);
$stmt->execute();
$stmt->store_result();
$stmt->fetch();
$stmt->bind_result($listing['primarypic']['id'], $listing['id']);
$stmt->free_result();
$stmt->close();

// Error is generated here.

$statement = $mysqli->prepare('INSERT INTO pictures (listid, primarypic) VALUES (?, ?)');
if (!$statement) {
        echo $mysqli->error;
        die();
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...