Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: stmt отказывается работать с longtext в mysql
Форумы портала PHP.SU » » Работа с СУБД » stmt отказывается работать с longtext в mysql

Страниц (1): [1]
 

1. SkaN - 12 Августа, 2011 - 13:59:50 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. $stmt->execute();
  2. $stmt->bind_result($id, $name, $promo, $article, $commenting);
  3. $stmt->fetch();
  4. $array = array($id, $name, $promo, $article, $commenting);
  5. foreach ($array as $k=>$v) {
  6.         echo $k.' => '.$v."<br>";
  7. }

Пишет:
Цитата:
0 => lorem_ipsum
1 => Lorem ipsum
2 =>
3 =>
4 => 1

Вот $promo и $article в БД хранятся под типами longtext, только с ними $stmt отказывается работать. Как его заставить?
И раз уж я здесь, то задам еще вопрос: как посчитать количество столбцов, которые достались execute'у?
(Добавление)
Нагуглил в официальной документации: чтобы передвались longtext'ы, нужно перед $stmt->bind_result() вызвать $stmt->store_result. У меня сработало.
Но второй вопрос - как посчитать количество столбцов - все еще в силе.
(Добавление)
$stmt->field_count
почему-то этого нету в документации. Нашлось методом ошибок, когда xdebug мне выдал все доступные переменные, в том числе классы)
2. Мелкий - 12 Августа, 2011 - 14:44:49 - перейти к сообщению
Как это нету? Вот он: http://www.php.net/manual/en/mys....field-count.php

 

Powered by ExBB FM 1.0 RC1