如何判断mysql_query是否成功,封装php无限极分类接口(不懂的留言)

针对update 语句等会对数据表进行修改的语句


在mysql_query($sql);后面加上


$result = mysql_affected_rows(); 


如果$result 值为-1表明语句没有成功执行,可能是语句格式有问题等等;


如果$result 值为0 表明语句成功执行,但是update并没有改变数据表任何一个字段的值;


如果$result值为1 表明语句成功执行, 而且update改变了数据表的某个或者多个字段的值;



****************************************************************************************************


针对select 等等查询类不对数据表任何值进行修改的语句


在 mysql_query($sql);后面加上


$result = mysql_num_rows(mysql_query);


如果$result 值为-1,表明语句没有成功执行,可能是语句格式有问题等等,


如果$result 值为0,表明语句成功执行,但是查询结果为空


如果$result 值为x(x>0),表明成功执行,且查询结果中有x条记录


*********************************************************封装php无限极分类接口(不懂的留言)*****************


/**
 * 无限极分类
 * @author $result 二维数组
 */
public function ($result){
$maxNum = 1000;//设置最大循环次数  
    $count = -1;//设置计数  
    //默认根节点内容  
    $root = array(  
        'id' => '0',  
        'text' => 'root',  
    );  
    //辅助,主要作用用于检测节点是否存在  
    //注:下面使用的技巧都是使用对象的引用,赋值的不是一个具体值,而是一个引用  
    $existsMap = array(  
        '0' => &$root,  
    );  
    //结果记录的长度  
    $len = count($result);  
    //计数  
    $num = 0;  
    //遍历结果集  
    while ($num < $len) {  
        $count++;  
        //如果计数器超过了最大循环次数就退出循环  
        if ($count > $maxNum) break;  
        $i = $count % $len;//取得下标,取莫的作用是防止下标超出边界  
        $obj = $result[$i];//取得当前节点  
        if (!$obj) continue;//不存在则跳过  
        $pidObj = & $existsMap[$obj['pid']];//检测辅助数组中是否有父节点数据并赋引用值给pidObj  
        if (!$pidObj) continue;  
        //如果存在pidObj,则设置当前节点在existsMap中  
        $existsMap[$obj['id']] = array(  
            'id' => $obj['id'],  
            'text' => $obj['name'],  
        );  
        //设置子节点  
        if (!$pidObj['children']) {  
            $pidObj['children'] = array();  
        }  
        //设置子节点为刚刚存在辅助数组中得引用  
        $pidObj['children'][] = & $existsMap[$obj['id']];  
        unset($result[$i]);  
        $num++;  
    }  
    //根据自己的需求,决定是否返回root节点  
    return $root['children'];  
}   


猜你喜欢

转载自blog.csdn.net/qq_38032300/article/details/79802804