2016-03-06 60 views
1

我有一个函数可以从Id中查找产品名称。 如果有该产品的ID,我将该名称分配给$name变量。否则我有另一个代码来运行。PHP函数仅返回一个名称可在数据库中使用

我有下面的代码来做到这一点。它工作正常。

今天但是我看到这是一个不好的做法,两个返回的数据类型即使它允许PHP。

不返回两个数据类型我该怎么做?

if(!findProductName($id,$con)) 
{ 
    // Some code.... 
} 
else 
{ 
    $name=findProductName($id,$con); 
} 

function findProductName($pro_id,$con){ 
    $sql="SELECT pro_name FROM product WHERE `pro_id`=".$pro_id." limit 1"; 
    $select_result = mysqli_query($con,$sql); 
    if(mysqli_num_rows($select_result) > 0){ 
     $pro_row = mysqli_fetch_array($select_result,MYSQLI_ASSOC); 
     return $pro_row['pro_name']; 
    } 
    else{ 
     return false; 
    } 
} 
+0

只是返回一个空字符串,如:返回 “”; –

+0

@FrayneKonok返回一个空字符串或空数组?哪个最好? – Sasa1234

+1

如果'$ pro_row'是一个数组,则返回数组。通过将'$ pro_row'分配为全局变量,您可以返回true-false的其他方法。 –

回答

1

您可以返回空字符串:

function findProductName($pro_id,$con){ 
    $sql="SELECT pro_name FROM product WHERE `pro_id`=".$pro_id." limit 1"; 
    $select_result = mysqli_query($con,$sql); 
    if(mysqli_num_rows($select_result) > 0){ 
     $pro_row = mysqli_fetch_array($select_result,MYSQLI_ASSOC); 
     return $pro_row['pro_name']; 
    } 
    else{ 
     return ''; 
    } 
}