No te dará error, pero a menos que $datos contenga la cadena completa de valores para los campos, te dará error de sintaxis al momento de ejecutar la query.
Mira, esto es lo que en tu anterior código no te dará error:
Código PHP:
$sql="INSERT INTO " . $nombre_tabla . " (nombre, caracteristicas, antiguedad) VALUES (";
foreach($array_datos as $datos) {$sql.= $datos; }
$sql.= ")";
pero eso tampoco te funcionará. Está mal construido.
No te funcionará porque la consulta debe quedar construida mas o menos así:
Código SQL:
Ver originalINSERT INTO tabla (nombre, caracteristicas, antiguedad)
VALUES ('edificio', 'kjhkkhjhjh kjhjh', 50);
y eso no se realiza con el codigo que propones. Con el tuyo, estos datos quedarían asi:
Código SQL:
Ver originalINSERT INTO tabla (nombre, caracteristicas, antiguedad)
VALUES (edificiokjhkkhjhjh kjhjh50);