我有一个简单的项目,就是创建一个函数来检查mysql和odbc连接。我已经完成了为mysql创建函数,下面是我的示例代码:
function check() {
$serverName = 'localhost';
$userName = 'root';
$password = '123';
$db = 'sample';
$conn = mysql_connect($serverName, $userName, $password);
mysql_select_db($db, $conn);
$trans = 'SELECT * FROM Labels';
$trans_result = mysql_query($trans, $conn);
if(!$trans_result) {
die(mysql_error());
} else {
echo "connected";
}
}这个在检查mysql连接时对我有用。现在,我的问题是,是否可以创建这样的东西来检查我的odbc数据源连接?所以这就像
$conn = odbc_connect("spmuse1","" ,""); # Open connection.
$trans = "SELECT French FROM Labels";
$trans_result = odbc_exec($conn, $trans);
if(!$trans_result) {
echo "error?";
} else {
echo "connected";
}你懂我说的意思吗?当我使用这段代码时,我总是有两个错误
警告: odbc_connect()函数. source连接: SQL错误:未找到Microsoft数据源名称且未指定默认驱动程序,SQLConnect中的SQL状态IM002
警告: odbc_exec():提供的参数不是有效的odbc_exec资源
请帮帮我!谢谢。
发布于 2012-02-29 01:01:55
首先,您需要决定odbc驱动程序的供应商,希望下面的示例对您有用
<?php
// Configure connection parameters
$db_host = "server.mynetwork";
$db_server_name = "Dev_Server";
$db_name = "Dev_Data";
$db_file = 'c:\dbstorage\dev.db';
$db_conn_name = "php_script";
$db_user = "dbuser";
$db_pass = "dbpass";
$connect_string = "Driver={Adaptive Server Anywhere 8.0};".
"CommLinks=tcpip(Host=$db_host);".
"ServerName=$db_server_name;".
"DatabaseName=$db_name;".
"DatabaseFile=$db_file;".
"ConnectionName=$db_conn_name;".
"uid=$db_user;pwd=$db_pass";
// Connect to DB
$conn = odbc_connect($connect_string,'','');
// Query
$qry = "SELECT * FROM my_table";
// Get Result
$trans_result= odbc_exec($conn,$qry);
if(!$trans_result) {
echo "error?";
} else {
echo "connected";
}
?>发布于 2014-01-10 21:10:52
我花了几天时间寻找一个简单的答案,并想出了一个对我有用的答案:
if (@odbc_connect("DBName","un","pw",SQL_CUR_USE_ODBC) == FALSE){
echo "Database does not exist";
} else {
$connection=odbc_connect("DBName","un","pw",SQL_CUR_USE_ODBC);
echo "Database exists";
}如果数据库不存在,@将取消基本错误,因此连接尝试将只返回false。当然,如果连接良好,那么它将创建连接对象。
https://stackoverflow.com/questions/9492137
复制相似问题