Конвертировать строку запроса в int в PHP - PullRequest
0 голосов
/ 11 сентября 2010

Работа над моим первым сайтом PHP (я в основном программист на ASP), и мне нужно преобразовать переменную строки запроса в число, которое я затем могу использовать для запроса к базе данных.Каков наилучший способ преобразовать в пригодный для использования int (я уже пробовал intval (), но в результате получаю 0), а также проверять его (AKA без одинарных кавычек, бла-бла) в PHP?

Ответы [ 2 ]

1 голос
/ 11 сентября 2010

PHP обеспечивает гораздо большую гибкость с типами, чем ASP, и автоматически конвертирует между различными типами.

Лучший способ обеспечить число в вашем SQL - это использовать sprintf(), например:

$sql = "SELECT name FROM users WHERE id = ".sprintf("%d", $_POST['userid']) ;

При вставке строк, доставленных GET или POST, в ваш SQL, вы должны использовать mysql_real_escape_string() (при условии, что ваш SQL собирается в MySQL), чтобы экранировать все, что нужно экранировать, поэтому:

$sql = "SELECT id FROM users where name = ".sprintf("'%s'", mysql_real_escape_string($_GET['username'])) ;
0 голосов
/ 11 сентября 2010

Вы, вероятно, пытаетесь прочитать входные параметры для сценария PHP - я бы рекомендовал использовать массивы

$_POST $_GET

, поскольку они содержат всю эту информацию, уже проанализированную.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...