加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP ODBC存储过程无效的参数号

发布时间:2020-12-13 16:45:38 所属栏目:PHP教程 来源:网络整理
导读:我对这个SQL / PHP / ODBC / FBI / TLA等世界100%全新.所以我很抱歉,如果我要问的是非常基本的. 我正在使用一个存储过程,它使用纬度/长度的邮政编码数据库将中央邮政编码和给定的英里半径作为2个输入参数,然后返回一个在给定英里半径范围内的邮政编码数组.
我对这个SQL / PHP / ODBC / FBI / TLA等世界100%全新.所以我很抱歉,如果我要问的是非常基本的.

我正在使用一个存储过程,它使用纬度/长度的邮政编码数据库将中央邮政编码和给定的英里半径作为2个输入参数,然后返回一个在给定英里半径范围内的邮政编码数组.当我在我的SQL查看器中运行它时它工作得很好,但是当我尝试使用php来做同样的事情时,我只得到无效的参数错误.

$connstr = "Driver={SQL Server};Server=MyServer;Database=MyDatabase;";
$conn = odbc_connect($connstr,"Name","PW");

$query_string = " CALL FindZipCodeWithinRadius(?,?)  ";

$sp = odbc_prepare($conn,$query_string);
$zipcodes = odbc_execute($sp,array(" 14602,35"));

print_r($zipcodes);

当我运行这样的代码时,我收到错误“没有足够的参数(1应该是2)”

我已尝试围绕这些输入参数的双引号/单引号的不同迭代,但它们都给我上面的错误,或者这个错误:

“SQL错误:[Microsoft] [ODBC SQL Server驱动程序]参数号无效,SQL状态S1093”

一个快速的谷歌搜索让我相信第二个错误意味着有太多的参数被读入proc,所以我如何跳过所需的2?

如果有所不同,数据库在SQL 2000上.

有任何想法吗?感谢您的任何帮助,您可以提供.

解决方法

$zipcodes = odbc_execute($sp,35"));

应该

$zipcodes = odbc_execute($sp,array("14602","35"));

在执行中,您传递1个数组值“14602,35”,并且您准备好的语句正在查找2.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读