php连接MSSQL问题
我在网上找到两种连接MSSQL的方法,一种我用mssql_connect 总是连接不上,后来我用下面这种方法连接上的
2
/**
* php使用ODBC连接sql server数据库实例
*/
$server='ip地址或服务器名';
$username='数据库用户名';
$password='数据库密码';
$database='数据库名';
$connstr = "Driver={SQL Server};Server=$server;Database=$database";
if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)){
echo "Couldn't connect to SQL Server on $server";
}else{
echo "Connect successfully!
";
}
?>
现在是连接数据成功了
但后面的SQL查询语句怎么写
我在后面这样写它会报错
if ( !odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC))
{ echo "Couldn't connect to SQL Server on $server";
}
else{
while($row=mssql_fetch_array(mssql_query('select * from t_item')))
{
echo $row[0];
}
}
Warning: mssql_query() [function.mssql-query]: Unable to connect to server: (null) in C:\wamp\www\mssql.php on line 12
Warning: mssql_query() [function.mssql-query]: A link to the server could not be established in C:\wamp\www\mssql.php on line 12
Warning: mssql_fetch_array(): supplied argument is not a valid MS SQL-result resource in C:\wamp\www\mssql.php on line 12
是不是这种连接的查询语法不是这样写的
回复讨论(解决方案)
odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)
你是使用 odbc 连接数据库的
那么就应该使用 odbc 函数组进行操作
odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC)
你是使用 odbc 连接数据库的
那么就应该使用 odbc 函数组进行操作
那如果我想echo我要查的那个表后面该怎么写
mssql连不上的原因会不会是php中mssql的扩展没开?
$conn = odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);
$rs = odbc_exec($conn, 'select * from tbl_name');
$ar = odbc_fetch_array($rs);
print_r($ar);
mssql连不上的原因会不会是php中mssql的扩展没开?
mssql的拓展打开了 而且ntwdblib.DLL这个文件的版本我也换了还是没用,因为mssql公司的业务系统在上面运行不怎么敢动,所以放弃了 只有另找方法了
$conn = odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);
$rs = odbc_exec($conn, 'select * from tbl_name');
$ar = odbc_fetch_array($rs);
print_r($ar);
首先先谢谢斑竹
我刚才在百度上搜了一下 我是这些写的 网页中能显示数据
$conn=odbc_connect($connstr,$username,$password,SQL_CUR_USE_ODBC);$sql="select * from t_item where fname like '%南昌%'";$rs=odbc_exec($conn,$sql);if (!$rs){exit("Error in SQL");}echo "
fnumber | ";echo "fname |
---|---|
$fname | "; echo "$fnumber |
我想问一下 ,能把SQL查询改成调用SQL SQRVER中的存储过程吗,用什么方法调用存储过程,参数怎么给,
给我指明大概的方法就可以了
那不是一样吗?你在控制台怎么执行,程序里就怎么写
存储过程是已经写好的,那个存储过程比较复杂,连接好了好多表,也有临时表,我想问的是在PHP中用什么函数可以调用到那个存储过程,我没用过 odbc_connect这种连接方式,后面不知道怎么下手继续
使用pdo吧,n具体的去看手册,现在都流行使用pdo,不用函数。
odbc_exec 执行 sql 指令,并返回结果
存储过程也属于 sql 指令
存储过程是已经写好的,那个存储过程比较复杂,连接好了好多表,也有临时表,我想问的是在PHP中用什么函数可以调用到那个存储过程,我没用过 odbc_connect这种连接方式,后面不知道怎么下手继续
odbc_exec 执行 sql 指令,并返回结果
存储过程也属于 sql 指令
存储过程是已经写好的,那个存储过程比较复杂,连接好了好多表,也有临时表,我想问的是在PHP中用什么函数可以调用到那个存储过程,我没用过 odbc_connect这种连接方式,后面不知道怎么下手继续
我在查询分析器这样写
select fname='南昌' into #mssql exec mssql drop table #mssql 可以正常查询
在PHP里写成这样
$sql=" select fname='南昌' into #mssql exec mssql drop table #mssql";
$rs=odbc_exec($conn,$sql);
就会报错
Warning: odbc_fetch_row() [function.odbc-fetch-row]: No tuples available at this result index in C:\wamp\www\mssql.php on line 20
有中文,就要检查是否编码问题