2012-03-12 2 views
0

Я создаю функцию, которая принимает имя таблицы и массив значений ключей и вставляет ее в мою базу данных. Мне интересно, должен ли я использовать для этого подготовленные инструкции MySQLi. Я думаю, что иногда мне придется вставлять похожие данные в кучу раз подряд. Например:Вставка данных в MySQLi - Должен ли я использовать подготовленные операторы?

$db->insert('user_meta', array('meta_key' => 'title', 'meta_value' => 'Developer')); 
$db->insert('user_meta', array('meta_key' => 'location', 'meta_value' => 'New York')); 
$db->insert('user_meta', array('meta_key' => 'employer', 'meta_value' => 'Subway')); 
$db->insert('user_meta', array('meta_key' => 'language', 'meta_value' => 'English')); 

Если моя функция вставки использовала подготовленные операторы, будет ли эта операция работать быстрее?

ответ

1

Да, это цель подготовленных заявлений.

+0

он также используется для предотвращения внедрения sql, хотя я не уверен, как справиться с динамическими именами таблиц в таком выражении, я думаю, что им потребуется специальная проверка. – stryba

+0

Связанные параметры, которые избавляют вас от SQL-инъекции. Они просто проявляются одновременно с подготовленными операциями (и обеспечивают дальнейшее повышение производительности при выполнении похожих запросов, а не идентичных). – Quentin

1

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

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