Cita: $data ["dato1" => "$name" ]
¿Que? O.o ¿Esa sintaxis es nueva? Eso no es correcto y no se declaran variables asi. De hecho, es un error de sintaxis
Cita: $name ="Jose";
$surname = "Perez";
$data['dato1'] = $name ;
$data['dato2'] = $surname ;
Amigo, tu codigo es correcto y deberia funcionar. Verifica que las variables $name y $surname no estan vacias antes de insertarlas.
Supongo solo pusiste un ejemplo pero que el caso real es otro