PDO не может выполнять запросы, когда другие небуферизованные запросы активны

    ByteArrayOutputStream byteArrayOutputStream = new ByteArrayOutputStream(string.length() * 2 + 2);
    byteArrayOutputStream.write(new byte[]{(byte)0xFF,(byte)0xFE});
    byteArrayOutputStream.write(string.getBytes("UTF-16LE"));
    return byteArrayOutputStream.toByteArray();

EDIT: Перечитывая свой вопрос, я вижу, что вы скорее избегаете распределения двух массивов. К сожалению, API не дает вам этого, насколько я знаю. (Был метод, но он устарел, и вы не можете указать кодировку с ним).

Я написал выше, прежде чем я увидел ваш комментарий, я думаю, что ответ на использование классов nio включен правильный трек. Я смотрел на это, но я недостаточно знаком с API, чтобы узнать, как вы это делаете.

23
задан Jim 14 January 2010 в 18:57
поделиться

1 ответ

Вы должны освободить ваше соединение с помощью метода PDostatement :: Clindecursor ()

http://www.php.net/manual/en/pdostatement.closecursor.php

Я считаю, что

foreach($phones as $phone)
{
    $stmt = db::getInstance()->prepare("CALL phones(:phone)");
    $stmt->bindParam(':phone', $phone, PDO::PARAM_INT, 10);
    $stmt->execute();

    $stmt->closeCursor()

    $result[] = db::getInstance()->query("SELECT @phone;")->fetchAll(PDO::FETCH_ASSOC);
}

должен Сделай это для вас

35
ответ дан 29 November 2019 в 01:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: