Если же учесть, что у тебя массив, да еще в котором имена ключей совпадают с именами полей, можно сделать еще проще.
В этом и заключается программирование!
Вместо тупого перечисления полей, сделать это автоматом!
сначала у тебя в запросе перечисляются поля.
во-первых, если ты заполняешь их все, то эту часть запроса можно вообще опустить.
insert into table values (,,,)
во-вторых, если все же перечислять, то можно сделать это автоматом.
получить имена ключей массива - array_keys()
сделать из них строку - implode
в итоге:
$query="INSERT INTO $TableName (".implode(",",array_keys($Array)).") values ....";
то же самое делаем со значениями, и пролучаем в итоге
$query="INSERT INTO $TableName (".implode(",",array_keys($Array)).") values (\'".implode("\',\'",$Array)."\');
ну, или если без перечисления полей, то так:
$query="INSERT INTO $TableName values (0,\'".implode("\',\'",$Array)."\');
Так ты убиваешь кучу зайцев: получается универсальный запрос не зависящий от состава и количества полей.
получается синтаксически правильный запрос.
Избегаешь возможных ошибок при ручном вводе.
И еще.
в первом примере нет поля id
что-то я сомневаюсь, что жесткое указание 5, как в твоем примере - это правильно.
правильнее не указывать его вовсе или писать 0.
Если у тебя есть возражения - я тебя обязательно выслушаю и объясню, в чем ты неправ. :-)
На дурака не обижайся :-)