$this -> link = mysql_connect('127.0.0.1', 'root', '123456' ,1,131072);请高手,解释一下,第4和第5个参数,分别应该如果设置存储过程跟普通链接,需要单独建conn么
我用来上传照片的,批量上传,出现如下错误:
Fatal error: Maximum function nesting level of '100' reached, aborting!链接数超了。第4个个参数,怎么设置好求高手给一个完整的案例

解决方案 »

  1.   

    附存储过程:DELIMITER $$DROP PROCEDURE IF EXISTS `tuanjuwangdev`.`proc_photo_add`$$CREATE DEFINER=`dbmaster`@`%` PROCEDURE `proc_photo_add`(
    in p_type_id tinyint(2),
    in t_id int(10),
    in p_us_id   int(10),
    in p_album_id int(10),
    in p_ctime int(10),
    in p_list_size int(10), 
    in p_list_title varchar(50) character set utf8,
    in fileid char(8),
    in p_tablename char(30)
    )
    BEGIN
    set @a=p_type_id;
    set @b=p_us_id;
    set @c=p_album_id;
    set @d=p_ctime;
    set @e=p_list_size;
    set @f=p_list_title;
    set @g=fileid;
    set @t=t_id;
    set @num=0;
    set @rnda=0;
            set @rndb=0;
    set @rndc=0;
    /*
    * using chk_Repeat 
    */
    set @q=concat('select count(0) as nums into @num from  ',p_tablename,' where type_id=? and t_id=? and us_id=? and album_id=? and fileid=? ');
    prepare sq from @q;
    execute sq using @a,@t,@b,@c,@g;
    if @num = 0 then
    /*
    * using insert photo_list tables
    */
      set @q=concat('insert into ',p_tablename,'(type_id,t_id,us_id,album_id,ctime,list_size,list_title,fileid) values(?,?,?,?,?,?,?,?)');
      prepare sq from @q;
      execute sq using @a,@t,@b,@c,@d,@e,@f,@g;
      select LAST_INSERT_ID() as id into @id;
    /*
    * using update photo_album tables
    */  
      set @q=concat('update tjw_photo_album set album_num=album_num+1,album_size=album_size+?,utime=? where id=?');
      prepare sq from @q;
      execute sq using @e,@d,@c;
    /*
    * using update cardid
    */
      select getRand(5) into @rnda;
      select getRand(2) into @rndb;
      select getRand(2) into @rndc;
      set @cardid=concat(@rnda,@a,'-',@rndb,@t,'-',@rndc,@id);   /* 32Digit rand() + id */
      set @q=concat('update ',p_tablename,' set cardid=? where id=? ');
      prepare sq from @q;
      execute sq using @cardid,@id;
      select @cardid as id;
      deallocate prepare sq;
    end if;
    END$$DELIMITER ;
      

  2.   

    这类语法上的问题,最好的方法就是自己参考一下MYSQL官方免费手册中的说明。
      

  3.   

    这是PHP中的报错,不是MYSQL的错误信息,建议到PHP版咨询一下。