# PHP 4.4.0 5.2.0 and FreeTds 0.64 login trouble

- Thread: https://externals.io/message/27598
- Original archive: https://news-web.php.net/php.internals/27598
- Started by Un Named on 2007-01-23T11:56:46+00:00
- Messages: 1
- Reply by email to internals@lists.php.net
- More for agents: search with https://externals.io/search.md?q={query} · JSON API at https://externals.io/api · documentation at https://externals.io/llms.txt

---

## #27598 — Un Named — 2007-01-23T11:56:46+00:00

URL: https://externals.io/message/27598#27598

Hello,
   
  I have a Linux server that's running PHP 4.4.0 and 5.2.0 along with FreeTDS 0.64
   
  I am trying to connect to a MS SQL Server 2005 with PHP and I encounter a problem. Here is the php script content:
   
      $dbhost = "192.168.55.3:1433";
    $dbuser = "sa";
    $dbpass = "samepassword";
    $db = mssql_connect($dbhost,$dbuser,$dbpassword) or die("Unable to connect to server");
   
  Output of runnign script:
  <br />
<b>Warning</b>:  mssql_connect() [<a href='function.mssql-connect'>function.mssql-connect</a>]: message: Login failed for user 'sa'. (severity 14) in <b>/bin/pipe.php</b> on line <b>7</b><br />
<br />
<b>Warning</b>:  mssql_connect() [<a href='function.mssql-connect'>function.mssql-connect</a>]: Unable to connect to server:  192.168.55.3:1433 in <b>/bin/pipe.php</b> on line <b>7</b><br />
   
   
  Anyway if I am logging using tsql it works:
   
  [root@softlink bin]# tsql -C
Compile-time settings (established with the "configure" script):
                           Version: freetds v0.64
    MS db-lib source compatibility: yes
       Sybase binary compatibility: unknown
                     Thread safety: yes
                     iconv library: yes
                       TDS version: 8.0
                             iODBC: no
                          unixodbc: no
   
  [root@softlink bin]# tsql -S 192.168.55.3 -U sa
locale is "en_US.UTF-8"
locale charset is "UTF-8"
Password:
1>

  The freetds.log files are different in each case:
   
  [working - running by tsql]
....
02:30:59.504763 1052 (iconv.c:361):iconv to convert client-side data to the "UTF-8" character set
02:30:59.504906 1052 (iconv.c:514):tds_iconv_info_init: converting "UTF-8"->"UCS-2LE"
02:30:59.505100 1052 (iconv.c:514):tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
02:30:59.505193 1052 (net.c:168):Connecting to 192.168.55.3 port 1433.
02:30:59.505951 1052 (write.c:134):tds_put_string converting 8 bytes of "softlink"
02:30:59.506271 1052 (write.c:162):tds_put_string wrote 16 bytes
02:30:59.506321 1052 (write.c:134):tds_put_string converting 2 bytes of "sa"
02:30:59.506360 1052 (write.c:162):tds_put_string wrote 4 bytes
02:30:59.506398 1052 (write.c:134):tds_put_string converting 4 bytes of "TSQL"
02:30:59.506434 1052 (write.c:162):tds_put_string wrote 8 bytes
02:30:59.506467 1052 (write.c:134):tds_put_string converting 12 bytes of  "192.168.55.3"
02:30:59.506503 1052 (write.c:162):tds_put_string wrote 24 bytes
02:30:59.506536 1052 (write.c:134):tds_put_string converting 11 bytes of "TDS-Library"
02:30:59.506571 1052 (write.c:162):tds_put_string wrote 22 bytes
02:30:59.506604 1052 (write.c:134):tds_put_string converting 10 bytes of "us_english"
02:30:59.506640 1052 (write.c:162):tds_put_string wrote 20 bytes
02:30:59.506673 1052 (write.c:162):tds_put_string wrote 0 bytes
02:30:59.506849 1052 (token.c:310):tds_process_login_tokens()
02:30:59.508366 1052 (net.c:446):Received header
0000 04 01 01 95 00 33 01 00-                        |.....3..|

[non working - running by php]
....
02:31:37.444823 1059 (iconv.c:361):iconv to convert client-side data to the "ISO-8859-1" character set
02:31:37.444969 1059 (iconv.c:514):tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
02:31:37.445067 1059 (iconv.c:514):tds_iconv_info_init: converting "ISO-8859-1"->"UCS-2LE"
02:31:37.445145 1059 (net.c:168):Connecting to 192.168.55.3 port 1433.
02:31:37.446876 1059 (write.c:134):tds_put_string converting 8 bytes of "softlink"
02:31:37.447186 1059 (write.c:162):tds_put_string wrote 16 bytes
02:31:37.447269 1059 (write.c:134):tds_put_string converting 2 bytes of "sa"
02:31:37.447311 1059 (write.c:162):tds_put_string wrote 4 bytes
02:31:37.447349 1059 (write.c:134):tds_put_string converting 7 bytes of "PHP 4.0"
02:31:37.447385 1059 (write.c:162):tds_put_string wrote 14 bytes
02:31:37.447418 1059 (write.c:134):tds_put_string converting 12 bytes of "192.168.55.3"
02:31:37.447453 1059 (write.c:162):tds_put_string wrote 24 bytes
02:31:37.447485 1059 (write.c:134):tds_put_string converting 10 bytes of "DB-Library"
02:31:37.447520 1059 (write.c:162):tds_put_string wrote 20 bytes
02:31:37.447553 1059 (write.c:134):tds_put_string converting 10 bytes of "us_english"
02:31:37.447587 1059 (write.c:162):tds_put_string wrote 20 bytes
02:31:37.447620 1059 (write.c:162):tds_put_string wrote 0 bytes
02:31:37.447814 1059 (token.c:310):tds_process_login_tokens()
02:31:37.449340 1059 (net.c:446):Received header
0000 04 01 00 74 00 33 01 00-                        |...t.3..|


The main difference here appears to be the charset that is set as UTF-8 in 
TSQL query regardless of freetds.conf that I specified in cmd line. PHP 
appears to use ISO-8859-1, is this the reason of failure and if so is there 
a fix? Or it is a library issue?

Thank you for your time, any help is appreciated.

Jim



 
---------------------------------
 Get your own web address.
 Have a HUGE year through Yahoo! Small Business.
 
---------------------------------
Need a quick answer? Get one in minutes from people who know. Ask your question on Yahoo! Answers.
