$num = 348;
$abc = array('J','o','h','n','D','i','d','a','c','t');
$res = strtr($num,$abc);
var_dump($res); // string(3) "nDc"
$dogshit = strtr($res,array_flip($abc));
var_dump($dogshit); // string(3) "348"
простоСтрокаДажеБезСобачки
. Тебе всё равно нужно проверить приходящие на сервер данные на валидность. Да и вообще, я считаю, что подготовленные запросы не столько для защиты предназначены, сколько для множественных шаблонных запросов, так сказать.