Это может быть глупый вопрос, но я мог бы также ответить на него:)
есть ли сила, чтобы заставить
$tel1 = '05';// string
settype($tel1,'string');
$tel1 = 06;//either throw error, or convert it to string automatically.
var_dump($tel1);//(string [2]) 05
Приведенный выше код имеет макушку моей головы, поэтому не можетбыть точным, но мне нужно сохранить переменную в виде строки, а не числовой, потому что из-за какой-то глупости, которую я сделал, теперь мои номера телефонов теряют первые 0: - (
n Я не могу переписать ее, потому что онабудет путаться с другими числовыми типами, b4 вы спрашиваете, что это была автоматизированная служба для БД, чтобы проверить, было ли это числовое значение или нет,
ОБНОВЛЕНИЕ Это проблема
function escape($str){
if(is_numeric($str)){
return $str;
}else{
return "'".mysql_real_escape_string($str).'\'';
}
}
$tel1 = "06";
$sql = 'SELECT * FROM blabla WHERE id = '.escape($tel1).'';
//above is same as below
$sql = 'SELECT * FROM blabla WHERE id = 06 ';
IЯ не могу ничего изменить внутри функции scape, потому что другие функции, используемые на веб-сайте, используют эту функцию, я не хочу испортить их проверки.