Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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 从远程web服务器连接到本地数据库_Php_Odbc_Localhost_Database Administration - Fatal编程技术网

Php 从远程web服务器连接到本地数据库

Php 从远程web服务器连接到本地数据库,php,odbc,localhost,database-administration,Php,Odbc,Localhost,Database Administration,我试图从Web服务器连接到我的本地数据库,但我 Fatal error: Call to undefined function odbc_connect() in -/-/-/7001238/web/s/sage2.php on line 15" 关于如何解决问题的任何帮助 这是我用来连接的代码 $odbc['dsn'] = "Sage50"; $odbc['user'] = "Peach"; $odbc['pass'] = "XXXX"; $mysql['

我试图从Web服务器连接到我的本地数据库,但我

Fatal error: Call to undefined function odbc_connect() 
             in -/-/-/7001238/web/s/sage2.php on line 15"
关于如何解决问题的任何帮助

这是我用来连接的代码

 $odbc['dsn'] = "Sage50";
 $odbc['user'] = "Peach";
 $odbc['pass'] = "XXXX";
 $mysql['host'] = "localhost";
 $mysql['user'] = "root";
 $mysql['pass'] = "";
 $mysql['dbname'] = "sagetest";
 $mysql['idfield'] = "id";
 $debug=true;
 // Step 1: Connect to the source ODBC and target mysql database
 if ($debug) echo "Connect to " . $odbc['dsn'] . ' as ' . $odbc['user'] . "\n";
 $conn = odbc_connect($odbc['dsn'], $odbc['user'], $odbc['pass']);
 if (!$conn) {
    die("Error connecting to the ODBC database: " . odbc_errormsg());
 }
 $myconn = mysql_connect($mysql['host'], $mysql['user'], $mysql['pass']);
 if (!$myconn)
    die("Error connecting to the MySQL database: " . $mysql_error());
 if (!mysql_select_db($mysql['dbname'], $myconn))  die("Error selecting the database: " . mysql_error());
// Step 1.5: loop through each table with steps 2-7
$allTables = odbc_tables($conn);
$tablesArray = array();
while (odbc_fetch_row($allTables)) {
   if (odbc_result($allTables, "TABLE_TYPE") == "TABLE") {
      $tablesArray[] = odbc_result($allTables, "TABLE_NAME");
   }
}

谢谢你抽出时间

首先:发生此错误是因为您没有安装ODBC PHP扩展

也检查一下

在debian发行版中,您可以使用apt-get-install-php5-odbc解决这个问题,但您也可以向托管提供商查询

当看到对未定义函数的
调用时
必须始终检查php.net以确定函数名,否则扩展未加载

PS 1:我想你是想在两个数据库之间比较/传输数据,对吗


PS 2:确保您的服务器可以访问ODBC地址。Web服务器不是您的开发机器,因此localhost不是真正的localhost;)

你把
odbc\uu
mysql\u
函数混在一起了,为什么?@Fred ii-,谢谢你的回复。我还打算将Sage 50 peachtree数据库与mysql同步,这就是为什么您会看到mysql功能。这可能是相关信息。您可以从Unix系统使用基于COM的ODBC吗?@RiggsFolly谢谢!,但它在本地主机上运行良好。尝试从远程/网站/访问时的唯一问题。我将相同的PHP代码上传到远程Web服务器。从WebServer访问本地数据库的代码是否需要更改谢谢!正确,我正在尝试同步两个数据库。我使用的是windows,我必须安装odbc PHP扩展吗?如果是,怎么做?它在本地机器上运行良好,我试图实现的是使用odbc访问本地sage 50普及数据库,然后与MYSQl同步。