[sisyphus] php + ftreetds + mssql

Evgeniy Kobzev =?iso-8859-1?q?evgenik_=CE=C1_diamonds=2Eru?=
Вт Фев 1 08:30:15 MSK 2005


Mike Lykov пишет:
> В сообщении от Понедельник 31 Январь 2005 17:15 Alexey Gladkov написал:
> 
> $db_name="Lite";      //база данных                                          
> $connection=mssql_connect("server","user","pass") or die("невозможно 
> подключится к серверу");
> $db=mssql_select_db("$db_name",$connection) or die ("невозможно выбрать 
> базу");
> $sql="select code_ceh, name_f, password from first_tab where 
> name_f='$login' and password='$userpassword'";   
> $result=mssql_query($sql,$connection)or die ("невозможно выполнить 
> запрос"); 
> while ($row=mssql_fetch_array ($result))                                     
>   {   $login1 = $row['name_f'];                                            
>       $password1 = $row['password'];                               
>       $code_ceh=$row['code_ceh'];                                          
>   }                                                                    
> if($login1!=$login){echo "Неверный логин или пароль!";
      echo "|".$login."|\n";
      echo "|".$login1."|\n";
>    exit;}                                  
> 
> вот такой кусок (писал не я).
> 
> на любые данные все время говорит "неверный логин" ;) (т.е. к серверу 
> подсоединяется, базу выбирает, запрос делает, а вот что оттуда возвращается - 
> непонятно).

Скорее всего дело в правых пробелах.
Допустим поле в таблице определено как CHAR(10), и в нем записано слово 
mylogin, то в переменной $login1 будет "mylogin" плюс три пробела.
С типом VARCHAR скорее всего будет по другому, но проверить нет 
возможности, это чистая теория.
Сравнивать по идее нужно как то вот так:

while ($row = mssql_fetch_array ($result)) {
	$login1 = rtrim($row['name_f'];
	$password1 = $row['password'];
	$code_ceh=$row['code_ceh'];
}
// Хотя ещё не понятно, как там вверху $login обрабатывали
if ($login1 != $login) {
	echo "Неверный логин или пароль!";
	exit;
}



Подробная информация о списке рассылки Sisyphus