0

我有一个查询数据库并计算其中行数的函数。

if($action=='shipping_list')
{ 
    $row;
    $shipping=shipping_list();
    $numrow=$r[0];
    $row=mysql_fetch_row($paging);
    include('shipping_list.php');
}

function shipping_list()
{
    global $MEMS;
    global $row;
    $query = "SELECT * FROM Inventory
                      WHERE Yield >=330 AND 
                            (Q = 'Pass' OR Q = 'No Q') AND 
                            shipdate = ' '
                   ORDER BY Wafer ASC, RC ASC";
    $shipping = $MEMS -> query($query);

    $query = "SELECT COUNT(*) Inventory
               WHERE Yield >=330 AND 
                     (Q = 'Pass' OR Q = 'No Q') AND 
                     shipdate = ' '";
    $paging = $MEMS -> query($query);
    return $shipping;
}

基本上,它调用函数,该函数有一个 SQL 命令来计算返回的查询数。然后代码使用 MySQL fetch row 获取行。

但是,$row继续返回NULL,这里有人知道我做错了什么吗?

4

1 回答 1

0
  • 我想函数shipping_list()shipping_list.php文件中。

如果要调用函数,请先包含 .php,而不是在调用之后

if($action=='shipping_list'){ 

   $shipping=shipping_list();
   $numrow=$r[0];
   $row=mysql_fetch_row($paging);
   include('shipping_list.php');
}

正确的

if($action=='shipping_list'){ 
   include('shipping_list.php');
   $shipping=shipping_list();
   $numrow=$r[0];
   $row=mysql_fetch_row($paging);
}
  • 如果函数shipping_list()与代码的其余部分在同一个文件中。*

你不能使用$paging,因为你没有退货$paging你只退货$shipping

$paging超出范围,只能在函数内访问shipping_list()

 $row=mysql_fetch_row($paging);

shipping_list.php

function shipping_list(){
....
$paging = $MEMS -> query($query);
return $shipping;
}

更新:

自己测试一下包含在错误位置的影响。

设置你好.php

<?php
 function setHello() {
  echo "Hello World<br />";
 }
?>

测试包含.php

<?php
if (function_exists('setHello')) {
  print "setHello<br /> defined\n<br />";
} else {
  print "setHello<br /> not defined\n<br />";
} 

 setHello();
 include "SetHellop.php";

 if (function_exists('setHello')) {
  print "setHello<br /> defined\n<br />";
} else {
  print "setHello<br /> not defined\n<br />";
}

?>

你不会得到任何错误,但只会输出:

setHello
not defined

将 testInclude.php 更改为

测试包含.php

<?php
if (function_exists('setHello')) {
  print "setHello<br /> defined\n<br />";
} else {
  print "setHello<br /> not defined\n<br />";
} 
 include "SetHellop.php"; 
 setHello();

 if (function_exists('setHello')) {
  print "setHello<br /> defined\n<br />";
} else {
  print "setHello<br /> not defined\n<br />";
}
?>

你得到输出。

setHello
not defined 
Hello World
setHello
defined 
于 2013-09-19T00:19:28.083 回答