я имел в виду, что делать инт и флоат при этом не обязательно.>альтернатива - всё пихать ,как строки
у меня итак в запросе все параметры заключены в кавычки. или ты не это имел ввиду?
разбирайсялишний слеш добавляется
function for_query($param,$type,&$err)
{
switch ($type) {
case 'int': if (is_integer($param)) $err=0; break;
case 'float': if (is_float($param)) $err=0; break;
case 'date':
$dt_elements = explode('-',$str);
if ((preg_match('/^[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}$/',$str))and
(checkdate($dt_elements[1],$dt_elements[2],$dt_elements[0])))
$err=0;
break;
}
return mysql_real_escape_string($param);
}
$q0="SELECT * FROM news WHERE ";
////////////////////
$q1="date1>='".for_query($date1,'date',$err_sql)."' AND date1<='".for_query($date2,'date',$err_sql)."'";
/////////////
$q2=" AND header LIKE '%".for_like_expr("$header")."%'";
//собственно сам запрос
if ($err_sql==0) mysql_query($q0.$q1.$q2)
$dt_elements = explode('-',$str);
if ((preg_match('/^[0-9]{4,4}-[0-9]{1,2}-[0-9]{1,2}$/',$str))and
(checkdate($dt_elements[1],$dt_elements[2],$dt_elements[0])))
а ты либо делай так:получается немного громоздко...
нет не нужно.ну все равно нужно, чтобы в запрос шли уже проверенные на состав данные
что за бред?по поводу ВТОРОГО (то что по-желанию). если здесь не проверять, то нужно подавить все ошибки, чтобы они не выводились в браузер