Я действительно рекомендую избегать SET
.Это гораздо реже, и при выборе между чем-то необычным и чем-то общим, всегда идите с общим - это означает более широкую, быструю и лучшую поддержку со стороны вашего сообщества.
Вот как вы 'Подойдем к этой проблеме без нее:
Если в вашей таблице USER
есть только два столбца, вы можете просто использовать VALUES
, за которым следует список списков данных, разделенный запятыми:
INSERT INTO user VALUES ("test","testt"),("test2","testt2")
Ваша функция не выглядит так, как будто она предназначена для этого, но это полезно знать в любом случае.
Но похоже, что вы вставляете по имени столбца (в общем, хорошая идея):
INSERT INTO user (name, login) VALUES ("test","testt")
С PHP это становится:
$items = array_map('mysql_real_escape_string', $values);
$items = '(\'' . implode( '\',\'', $items ) . '\')';
$q = 'INSERT INTO '.
$table .
// using implode with array_keys assumes that you know all of the keys
// ahead of time. If you don't, I MUST suggest your re-think your code
// omit the following line if you want to follow the first SQL example
' (' . implode( ',', array_keys( $values ) . ') '.
' VALUES ' .
$items;