Я давно не работал с mysql, так что простите меня, если я беспокоюсь.
Мне кажется, что ваше ограничение проверяет, равен ли идентификатор столбца строке
'".$userid."'
Если id
является каким-то целым числом, эта проверка может завершиться неудачно. (опять же, я могу ошибаться, но какой вред пытаться?)
Вы можете попытаться изменить запрос на чтение
$sql = "SELECT username FROM user WHERE `id` = ".$userid." LIMIT 1";
, если id
не является действительно строкой.
Надеюсь, это поможет.
http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html