2013-08-11 2 views
-2

У меня есть функция PHP, которая производит эту ошибку:PHP Отсутствующий аргумент 1 для show_products()

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() 

Что означает эта ошибка?

ответ

1

Ваш метод требует параметра, и вы не входит в комплект.

Если вы хотите использовать функцию без аргументов. Сделайте значение по умолчанию для аргумента $cat так:

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

Тогда при вызове метода без аргумента, переменной присваивается значение NULL.

1

изменение

function show_products($cat){ 
... 

в

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

так, что функция работает, даже если аргумент не передается к нему

+0

Спасибо! его работала :) – amirpk

Смежные вопросы