Я создаю класс PDO для использования в моих проектах, но поскольку я новичок в этом, я не могу привязывать параметры к подготовленному SQL-выражению, не допуская ошибок. Вот функция, которая Мент это сделать:PDO - bindParam не работает
# ::bindParam
public static function bind()
{
# get function arguments
$args = func_get_args();
# check for any arguments passed
if (count($args) < 1)
{
return false;
}
foreach ($args as $params)
{
# named variables for convenience
$parameter = $params[0];
$variable = $params[1];
$data_type = isset($params[2]) ? $params[2] : PDO::PARAM_STR;
$length = isset($params[3]) ? $params[3] : null;
# bind param to query
Database::$statement->bindParam($parameter, $variable, $data_type, $length) or die('error');
}
}
и подготовленное заявление SQL:
SELECT * FROM `users` WHERE `email` = :email AND `password` = :password LIMIT 1
Может кто-то мне точку в правильном направлении? В этот момент запрос не вызывает ошибок. Обратите внимание, что я предполагаю, что проблема здесь, хотя это может и не быть, поскольку я использую только bindParam() и prepare().
редактировать - триггер код
$email = $_POST['email'];
$password = $_POST['password'];
$password = hash('sha256', $password);
$this->db->prepare('SELECT * FROM `users` WHERE `email` = :email AND `password` = :password LIMIT 1');
$this->db->bind(
array(':email', $email),
array(':password', $password)
);
$status = $this->db->execute();
if ($status)
{
$result = $this->db->fetch('assoc');
$this->template->user = $result;
}
else
{
$this->template->user = false;
}
введите код, который вызывает функцию – hek2mgl
Как вы называете эту функцию? –
проверить обновленный вопрос – yoda