2013-12-02 2 views
1

Я учусь MySQLi подготовлены заявления и есть несколько вопросов по этому поводуMysqli подготовленного заявление для не динамических переменной

  1. Из того, что я понял, мы используем подготовленное заявление для тех запросов, которые имеют динамические переменные в них например, при входе в систему - адрес электронной почты &.

    Я хочу знать, необходимы ли подготовленные заявления для запросов, где нет динамического элемента, например, для извлечения пользователей из базы данных. Если я сделаю это, как показано ниже запрос делает это делает его уязвимым

    SELECT 
        name, email 
    FROM 
        users 
    
  2. Как я могу использовать подготовленное заявление без привязки параметров?

Как и в PDO мы делаем, как это

$array=array($email,$pass); 
$db->query("SELECT name from users where email=? and password=?"); 
$db->execute($array); 

Могу ли я сделать что-то подобное в MySQLi? Я искал и нашел результаты, которые используют параметр привязки, ничего, не используя bind.?

+0

Первый из них довольно глупый, и вы можете ответить на него сами. Что касается второго - либо напишите * свою оболочку *, либо переключитесь на PDO. –

+0

Посмотрите здесь http://stackoverflow.com/questions/5108414/mysqli-query-vs-prepare – AdRock

ответ

-1

Ваши ответы являются следующие:

1.See this- stackoverflow.com/questions/5108414/mysqli-query-vs-prepare - (. Ссылка на которую AdRock отвечал в своем комментарии)

2.Instead OF-

$db->query("SELECT name from users where email=? and password=?"); 
$db->bind_param("ss", $email, $password); 
$db->execute($array); 

Вы можете сделайте это -

$db->query("SELECT name from users where email='$email' and password='$password'"); 
$db->execute($array); 
+0

О нет. Этот ответ хуже, чем никакого ответа –

+2

Но почему? Pls объясняет – Sid

Смежные вопросы