Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用pdo_dblib连接到sybase失败_Php_Pdo_Sybase - Fatal编程技术网

Php 使用pdo_dblib连接到sybase失败

Php 使用pdo_dblib连接到sybase失败,php,pdo,sybase,Php,Pdo,Sybase,我想使用PDO通过PHPPDO_dblib连接到Sybase。这就是我所做的: $conn = new PDO("dblib:host=$db_host:$db_port;dbname=$db_name","$login","$password"); 它向我显示sqlnull错误。我不知道怎么做才对。我已经检查了php信息,pdo_dblib就在那里 PDO Driver for FreeTDS/Sybase DB-lib: Flavour enabled: freetds 顺便问一下,需

我想使用PDO通过PHP
PDO_dblib
连接到Sybase。这就是我所做的:

$conn = new PDO("dblib:host=$db_host:$db_port;dbname=$db_name","$login","$password"); 
它向我显示
sqlnull错误
。我不知道怎么做才对。我已经检查了php信息,pdo_dblib就在那里

PDO Driver for FreeTDS/Sybase DB-lib: Flavour
enabled: freetds

顺便问一下,需要数据库端口吗?在此之前,我没有输入数据库端口号,现在我仍然无法获取端口号。

按照以下步骤查找错误原因

步骤1:使用telnet进行连接

xxx@ubuntuvbox:~$ telnet 10.1.1.1 5000
Trying 10.1.1.1...
Connected to 10.1.1.1.
步骤2:配置FreeTDS

编辑freetds.conf,位于/etc/freetds/(Ubuntu 11.10)

步骤3:使用FreeTDS进行连接

xxx@ubuntuvbox:~$ sqsh -S 10.1.1.1:5000 -Usa
sqsh-2.1 Copyright (C) 1995-2001 Scott C. Gray
This is free software with ABSOLUTELY NO WARRANTY
For more information type '\warranty'
Password: 
Msg 2401, Level 11, State 2
Server 'XXXXXX'
Character set conversion is not available between client character set 'utf8'
and server character set 'cp850'.
No conversions will be done.
1> select * from .....
步骤4:使用FreeTDS与PHP连接

检查这个

$dbh = new PDO ('dblib:host=10.1.1.1:5000;dbname=databasename','sa','password');
$dbh = new PDO ('dblib:host=10.1.1.1:5000;dbname=databasename','sa','password');