Y que pasa si realmente necesitas insertar un $?, además por asuntos de seguridad, evitar pasar clases y esas cosas me acostumbré a usar siempre comillas simples ya que ahi el código arbitrario no funciona, o sea:
echo "$algo"; imprime la variable
echo '$algo'; imprime $algo
De hecho habia un bug que permitia ejecución de código arbitrario en vbuletin por causa de esto.
Además recuerda que desde php no vale de nada enviar punto y coma ";" porque no puedes hacer multiples querys, recuerda que ya no estás en el phpmyadmin.
Así lo haría yo:
<?php
if(
isset($_POST['editUser']) and
isset($_POST['editPass']) and
isset($_POST['editTipo']) and
isset($_POST['editSede']) and
isset($_POST['idetable'])
){
if($query = mysql_query('
if exists (
select id from `usuarios` where id = '.(int)$_POST['idetable'].' limit 1
)
update `usuarios` set
`usuario` = "'.mysql_real_escape_string($_POST['editUser']).'",
`passwd` = "'.md5($_POST['editUser'].$_POST['editPass']).'",
`tipo` = '.(int)$_POST['editTipo'].',
`sede` = '.(int)$_POST['editSede'].'
where `id` = '.(int)$_POST['idetable'].'
', $link))
echo 'Editado!';
else
echo 'El usuario que se desea editar no existe.';
}
?>