// вернем все поля как ассоц. массив
if ($result = $this->mysqli->prepare("SELECT * FROM `mytable` WHERE `rows1`=?"))
{
$result->bind_param("i",$id);
$result->execute();
while ($data = $result->fetch_assoc())
{
$statistic[] = $data;
}
echo "<pre>";
var_dump($statistic);
echo "</pre>";
}
в общем итоге это возвращает ошибку и ничего кроме.
Что я делаю не так?
Спустя 15 минут, 46 секунд (15.06.2012 - 12:03) Placido написал(а):
Текст ошибки?
Спустя 10 минут, 21 секунда (15.06.2012 - 12:13) Stasonix написал(а):
Цитата |
[Fri Jun 15 12:13:11 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to undefined method mysqli_stmt::fetch_assoc() in [myfile.php] |
Спустя 5 минут, 26 секунд (15.06.2012 - 12:18) alexbel2404 написал(а):
if ($result = $this->mysqli->prepare("SELECT * FROM `mytable` WHERE `rows1`=?"))
{
$result->bind_param("i",$id);
$rows = $result->execute();
while ($data = $rows->fetch_assoc())
{
$statistic[] = $data;
}
echo "<pre>";
var_dump($statistic);
echo "</pre>";
}
Спустя 5 минут, 42 секунды (15.06.2012 - 12:24) Stasonix написал(а):
Цитата |
[Fri Jun 15 12:22:59 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to a member function fetch_assoc() on a non-object in [myfile.php] |
странно все это, неужели mysqli такой противный?
Спустя 5 минут, 10 секунд (15.06.2012 - 12:29) T1grOK написал(а):
Он не противный, а логичный. На php.net описаны все методы, с принадлежностью к тому или иному классу.
Спустя 1 минута, 52 секунды (15.06.2012 - 12:31) Stasonix написал(а):
я туда и смотрю, это что-то с чем-то. http://php.net/manual/en/mysqli-stmt.fetch.php хочу попробовать php at johnbaldock dot co dot uk 23-Oct-2006 01:07., посмотрим что из этого выйдет.
Спустя 7 минут, 49 секунд (15.06.2012 - 12:39) Stasonix написал(а):
не вышло:
фетчит в 1-но поле только.
// вернем все поля как объект
if ($result = $this->mysqli->prepare("SELECT * FROM `mytable` WHERE `row1`=?"))
{
$result->bind_param("i",$id);
$result->execute();
$result->store_result();
$meta = $result->result_metadata();
$bindResult = '$result->bind_result(';
while ($columnName = $meta->fetch_field())
{
$bindResult .= '$statistic["'.$columnName->name.'"],';
}
$bindResult = rtrim($bindResult,',').');';
eval($bindResult);
$result->fetch();
$result->close();
echo "<pre>";
var_dump($statistic);
echo "</pre>";
}
return $statistic;
}
фетчит в 1-но поле только.
Спустя 28 минут, 56 секунд (15.06.2012 - 13:08) Placido написал(а):
if ($stmt = $this->mysqli->prepare("SELECT * FROM `mytable` WHERE `rows1`=?"))
{
$stmt->bind_param("i",$id);
$stmt->execute();
$result = $stmt->get_result(); //получаем экземпляр класса mysqli_result,
while ($data = $result->fetch_assoc()) //так как fetch_assoc() - метод класса mysqli_result, а не класса mysqli_stmt
{
$statistic[] = $data;
}
echo "<pre>";
var_dump($statistic);
echo "</pre>";
}
Спустя 2 минуты, 1 секунда (15.06.2012 - 13:10) Stasonix написал(а):
Цитата |
что это за язык программирования?? ты мой пример видел? |
то что на php.net, твой пример:
[Fri Jun 15 12:22:59 2012] [error] [client 127.0.0.1] PHP Fatal error: Call to a member function fetch_assoc() on a non-object in [myfile.php]
Спустя 50 секунд (15.06.2012 - 13:11) Stasonix написал(а):
Placido
Спасибо, сейчас проверю.
Спасибо, сейчас проверю.
Спустя 6 минут, 22 секунды (15.06.2012 - 13:17) Stasonix написал(а):
Отлично все Placido!