我定义了一个function,但总是有问题,请帮我看看?

dingang 2003-08-19 09:26:06
<?
include"../inc/connect.php";
$query="select a1 from Table";
$result=mssql_query($query,$id) or die("无法执行数据库操作!");
$row=mssql_fetch_rows($result);

function Outer($UserID,$OutID){
$query1="select Po from User where UserID=".$UserID." and OutID=".$OutID;
$result1=mssql_query($query1,$id) or die("无法执行此数据库操作!");
$row1=mssql_fetch_array($result1);
if ($row1[0]!=""){
echo "yyy";
}else{
echo "nnn";
}
}
?>
<html><body>
<? echo Outer($UserID,$row[$i][0]); ?>
</body></html>

运行的时候总是说$query1="select Po from User where UserID=".$UserID." and OutID=".$OutID;行有错误,“Warning: mssql_query(): supplied argument is not a valid MS SQL-Link resource in c:\web\er.php on line 7
” why?
...全文
43 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
查看手册——变量的作用域
blueaurora 2003-08-19
  • 打赏
  • 举报
回复
http://www.php.net/manual/zh/language.variables.scope.php
dingang 2003-08-19
  • 打赏
  • 举报
回复
加 global $id; 就没有问题了!
按唠叼的方法也是对的,去掉$id,mssql_query会去找最近开启的id。

但是为什么用function定义的函数无法用到之前定义的$id呢?
xuzuning 2003-08-19
  • 打赏
  • 举报
回复
$result1=mssql_query($query1,$id) or die("无法执行此数据库操作!");
改为
$result1=mssql_query($query1) or die("无法执行此数据库操作!");
babystudio 2003-08-19
  • 打赏
  • 举报
回复
提示信息的意思是说没有有效的mssql连结句柄。由于函数内部的$id与外部打开的连结句柄$id未作关联,所以造成此错误。在函数内加上global $id;应该可以OK了。

//...
function Outer($UserID,$OutID){
global $id;
$query1="select Po from User where UserID=".$UserID." and OutID=".$OutID;
$result1=mssql_query($query1,$id) or die("无法执行此数据库操作!");
//...
bluemeteor 2003-08-19
  • 打赏
  • 举报
回复
如果你的UserID和OutID是数值类字段的话,那么这个语句没有问题
$query1="select Po from User where UserID=".$UserID." and OutID=".$OutID;

但是如果是字符类型的话请使用这个

$query1="select Po from User where UserID='$UserID' and OutID='$OutID'";


dingang 2003-08-19
  • 打赏
  • 举报
回复
最前面掉了一行,$UserID=$_GET[userid];$UserID是传过来的值。

21,887

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧