【问题标题】:Connecting to ODBC with IP使用 IP 连接到 ODBC
【发布时间】:2015-04-07 21:36:27
【问题描述】:

问题:如何从我的专用服务器连接我的 sql 数据库? 示例:

$conn = odbc_connect('175.34.73.13','User_LoginDB','User123','testtest');

那个 IP 是我的服务器 IP,我的数据库在我的服务器上。 使用该代码时出现此错误:

预计参数 4 很长,字符串在 register.php 中给出

我的 HTML 和 PHP 技能一点都不好。有什么建议吗?

【问题讨论】:

  • 似乎缺少部分错误。什么“期望参数 4 很长”?我的猜测是它与数据库的连接无关
  • 根据PHP Manual,您的"odbc_connect" 参数可能不正确。
  • PHP 警告:odbc_connect() 要求参数 4 很长,字符串在第 5 行的 /home/user/public_html/test/register.php 中给出。第 5 行 = $conn = odbc_connect('175.34 .73.13','User_LoginDB','User123','testtest');
  • 关于如何连接服务器有什么建议吗?我不能用这个; Server= UserPC/SQLEXPRESS,我需要使用 IP。如果我拿走 IP,它只适用于本地使用。我需要人们能够注册。

标签: php html sql-server


【解决方案1】:

关于这个PHP documentation:参数4应该是cursor_type(int)。此方法的第一个参数可以是无 DSN 连接字符串。这是您可以提供数据库名称的方式。

// Replace the value of these variables with your own data
$user = 'username';
$pass = 'password';
$server = 'serverName\instanceName';
$database = 'database';

// No changes needed from now on
$connection_string = "DRIVER={SQL Server};SERVER=$server;DATABASE=$database"; 
$conn = odbc_connect($connection_string,$user,$pass);

您只需要使用您的值定义前 4 个变量。

【讨论】:

  • 更多关于无 DSN 连接字符串类型的信息,您可以在link阅读
  • DRIVER={SQL Server};SERVER=$server|服务器应该是我的 IP 正确吗?
  • 是的。 “服务器”可以是 IP。
  • 大声笑,你不明白我处理这个问题有多久了。我让它在我的本地服务器(桌面和使用 WAMP)上使用: $conn = odbc_connect('User_LoginDB','User123','testtest');但是,我把它放在我的网络服务器上,我得到了 no datasource 错误。我尝试了您提供的连接字符串。我仍然得到那个错误。
  • 如果使用字符串提供程序,您会遇到什么错误?你能告诉我你是如何使用它的吗?
【解决方案2】:

您有 'testtest' 作为光标类型:

resource odbc_connect ( string $dsn , string $user , string $password [, int $cursor_type ] )

http://php.net/manual/en/function.odbc-connect.php

【讨论】:

  • odbc_connect(Database , user, password) 从未见过 cursor_type
  • 添加了回答链接。
  • $dsn 应该是有效数据源的名称而不是 IP 地址。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-23
  • 2011-07-17
  • 2016-09-15
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多