pues si, casi das en el blanco...
solo debes usar un poco mas la lógica y tu cerebro, claro esta...
Código PHP:
if (empty($apellido)) $sql = "INSERT INTO tabla(nombre) VALUES('$nombre')";
else $sql = "INSERT INTO tabla(nombre,apellido) VALUES('$nombre','$apellido')";
y de verdad, ponte a
leer el manual... por que eso de pensar en voz alta no deja nada bueno...
http://php.net/empty http://php.net/isset