Молодец Однако подсыплю соли.
Есть одна уязвимость. Что, если я, будучи плохим человеком, передам твое функции mpnumber, допустим равным 999, т.е. заведомо такого значения, что такой ячейки в массиве $move[] не будет? Тогда $x и $y получают в лучшем случае - просто пустоту, на практике там может оказаться даже просто рандомное число( так и должно быть). Пользователю запишется ложная карта и координаты. Чар застрянет.
Возможное решение:
Code
if( empty( $move[ $mapnumber])) {
echo "err"; // выводим сообщение
return 0; // выходим из функции
}
Возможно, empty будет даже лучше заменить на is_array. Также нет проверки на то, чтобы mapnumber была именно положительным числом. Если я передам туда букву, то это еще и вызовет ошибку обработки SQL запроса и сразу расскроет пути. А если в таблице колонка с номером карты varchar, то запишет, но как на это отреагирует сервер - фиг его знает.