-2

我有一个产生此错误的 PHP 函数:

Missing argument 1 for show_products(), called in 
C:\server\htdocs\php\index.php on line 21 

这是PHP代码:

function show_products($cat){
    if(isset($cat)){
        $sql = "SELECT * FROM `PRODUCTS` WHERE cat = '$cat'";
    } else {
        $sql = "SELECT * FROM `PRODUCTS` WHERE 1";
    }

    $query = mysql_query($sql);
    if($query){
        while ($product = mysql_fetch_array($query)) {
            echo $product['name'] . " - " . $product['price'] . "<br />";
        }
    }
    else {
        echo "No Product found!";
    }
}

我这样调用函数:

show_products()

这个错误是什么意思?

4

2 回答 2

1

改变

function show_products($cat){
...

function show_products($cat = ""){
    if( !empty($cat) ) {
       ....

这样即使没有参数传递给它,你的函数也能工作

于 2013-08-11T09:08:02.547 回答
1

您的方法需要一个参数,而您没有提供参数。

如果您希望能够在没有参数的情况下调用该函数。为您的参数设置一个默认值,$cat如下所示:

function show_products($cat = null) {    
    // your code 
}

然后,当您在没有参数的情况下调用该方法时,将为该变量分配 null。

于 2013-08-11T09:12:05.433 回答