针对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'];
}