[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проблема с формированием и выполнением запроса
Zizilk
Имеем следующий отрывок
		echo"<br> ТЕСТ начало!!!";
$query= "SELECT target,param,name FROM `build` WHERE (type='2')";
if ($result = $this->connection->query($query))
{
while ($row=$result->fetch_assoc())
{
$target[]=$row['target'];
$res[]=$row['param'];
$name[]=$row['name'];
}
}

$queryd= "SELECT ";
$t=',';
$q=implode ($t,$target);
$queryd.=$q;
$queryd.=",lastsee ";
$queryd.="FROM 'Useres' WHERE(coord='$planet' AND id='$id')";
echo"<br> Запрос на получение парметров зданий $queryd <br>получение ресурсов игрока и последнего времени просмотра";
if ($result = $this->connection->query($queryd))
{
while ($row=$result->fetch_assoc())
{
foreach($target as $r){$ures[]=$row[$r];echo("<br>".$row[$r]);}
$lastsee=$row['lastsee'];echo $lastsee;
}
}


Запрос получается правильным
р-тат:
SELECT silic,metal,lastsee FROM 'Useres' WHERE(coord='2' AND id='35')

но как его обработать, если единственное знаю про запрашивыемые элементы, что они будут в массиве таргет.
судя по дебагингу то что я зпихнул в форич вообще не выполняется

на выходе мне нужно получить массив



Спустя 52 минуты, 24 секунды (2.02.2010 - 00:01) Zizilk написал(а):
щас пытаю дебагать но почемуто не находит запрос бд.
Те все что в if(result не выполняется

Спустя 15 минут, 24 секунды (2.02.2010 - 00:16) vital написал(а):
Хм, смотрите класс, который работает с бд. Мб там лажа?

Спустя 3 минуты, 13 секунд (2.02.2010 - 00:20) Zizilk написал(а):
бд работает. С классом в порядке.

Спустя 30 минут, 10 секунд (2.02.2010 - 00:50) anonymouse написал(а):
if ($result = $this->connection->query($queryd))

А мне вот это интересно...что это за IF такой - и что за $this->connection->query($query)...


Это понять так - Вызывается функция данного класса Connection из которой вызывается ->query ? разве такое возможно ?

1. если ты хотел сделать сравнение ставиться ==
2. я такой вызов в первые вижу. ( возможно такое и есть... но ! Для меня это в новинку. )

Спустя 1 час, 55 минут, 12 секунд (2.02.2010 - 02:45) dr_Lev написал(а):
Цитата
$queryd.="FROM 'Useres' WHERE(coord='$planet' AND id='$id')";

в именах полей и таблиц нужно использовать обратные кавычки :
$queryd.="FROM `Useres` WHERE(coord='$planet' AND id='$id')";


Цитата
Это понять так - Вызывается функция данного класса Connection из которой вызывается ->query ? разве такое возможно ?
вызывается не функция(метод), а свойство, которое также модет быть объектом любого класса... Кстати такое
$this->connection()->query($queryd)
тоже будет работать, если метод connection возвращает объект у которого есть метод query() :
<?php
class
A{
private $name = '';
public function __construct(){
$this->name = "Class A";
}
public function text(){
return $this->name;
}
}


class B{
public $obj = NULL;
public function __construct() {
$this->obj = new A();
}
public function text(){
return $this->obj;
}
}


$B = new B();
echo $B->obj->text();
echo $B->text()->text();
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.