почему это не работает:
public function query($query, $vars = array())
{
$link = $this->getLink();
if($link)
{
$stmt = $link->prepare($query);
if($stmt)
{
if(count($vars)>0)
{
$count = 1;
foreach($vars as $v)
{
$stmt->bindParam($count, $v);
$count++;
}
}
if($stmt->execute())
return $stmt->fetch(PDO::FETCH_ASSOC);
}
}
return false;
}
и это работает:
public function query($query, $vars = array())
{
$link = $this->getLink();
if($link)
{
$stmt = $link->prepare($query);
if($stmt)
{
if($stmt->execute($vars))
return $stmt->fetch(PDO::FETCH_ASSOC);
}
}
return false;
}
вызов:
$result = $db->query('select * from users where user like ? and email like ?',array('my_user', 'myemail@domain.com'));
редактировать с окончательным кодом:
public function query($query, $vars = array())
{
$link = $this->getLink();
if($link)
{
$stmt = $link->prepare($query);
if($stmt)
{
if(count($vars)>0)
{
$count = 1;
foreach($vars as $v)
{
$stmt->bindValue($count, $v);
$count++;
}
}
if($stmt->execute())
return $stmt->fetch(PDO::FETCH_ASSOC);
}
}
return false;
}