为了账号安全,请及时绑定邮箱和手机立即绑定

mysql.func.php里面语句not avialble in php7要怎么修改?

在mysql.func.php里面语句已经不在适用,报错为the function is not avialible in php7,但是我用的wamp集成包php版本是5.5.12,感觉也不是很有影响,可是Zend Studio里面报错也不行,想问问大家怎么改正?还有最下面报我没有定义str? 这是第二次做了,第一次做的时候在网页报错也是说mysql不在适用,link要改成ODP或者什么给忘了 T T 求大神拯救

571857c20001bf1605000217.jpg

571857c20001503e05000204.jpg

571857c20001b50305000186.jpg

571857c3000176a905000198.jpg

571857cb0001f49105000204.jpg

571857cb00016b6d05000201.jpg

571857cb0001701c05000254.jpg

正在回答

4 回答

<?php

//包含函数库

require_once( dirname(dirname(__FILE__)).'\include.php' );

/**

 * 链接数据库

 * @return [type] [description]

 */

function connect(){

//链接数据库

$link = @mysqli_connect(HOST,USER,PASS,DB) or exit('连接失败');

// 设置字符集

mysqli_set_charset($link,CHARSET);

return $link;

}

/**

 * 专门用于 增

 * @param  [表名] $table = 'wzb_admin';

 * @param  [数组] $array = $_POST;

 * @return [type]        [description]

 */

function insert($table,$array){

$keys=join(",",array_keys($array));

$vals="'".join("','",array_values($array))."'";

$sql="insert {$table}($keys) values({$vals})";

//连接数据库

$link = connect();

// 发送执行

$result = mysqli_query($link,$sql);

// 如果执行成功 和受影响行大于 0

if($result && mysqli_affected_rows($link) > 0){

return mysqli_insert_id($link) ? mysqli_insert_id($link) : mysqli_affected_rows($link);

}

// 关闭连接

mysqli_close($link);

}



//修改成功update `wzb_admin` set `username`='wzb',`password`='1234',`email`='123' where id=1

/**

 * 记录的修改操作

 * @param string $table

 * @param arr $array

 * @param string $where

 * @return number

 */

function update($table,$arr,$where=null){

//处理POST过来的数据

$name = array();

$numb = array();

  foreach ($arr as $key => $value) {

  $name[] = '`'.$key.'`';

  $numb[] = "'".$value."'";

}

//将格式化的数据拼接装进新数组

$srt = array();

for ($i=0; $i < count($name); $i++) { 

$srt[] = "$name[$i]=$numb[$i]";

}

//将数组中的值按格式连接得到完整的修改条件

$str=join(",",array_values($srt));

//拼接sql语句

$sql="update {$table} set {$str} ".($where==null?null:" where ".$where);

//连接数据库

$link = connect();

// 发送执行

$result = mysqli_query($link,$sql);

//判断是否修改成功

if($result){

return mysqli_affected_rows($link);

}else{

return false;

}

// 关闭连接

mysqli_close($link);

}



/**

 * 删除记录

 * @param string $table

 * @param string $where

 * @return number

 */

function delete($table,$where=null){

//连接数据库

$link = connect();

//拼接命令

$where=$where==null?null:" where ".$where;

$sql="delete from {$table} {$where}";

//执行删除

mysqli_query($link,$sql);

//返回信息

return mysqli_affected_rows($link);

//关闭连接

mysqli_close($link);

}



/**

 * 得到指定一条记录

 * @param  $sql="select * from wzb_admin where username='{$username}' and password='{$password}'";

 * @return [srray] 关联数组

 */

function fetchOne($sql){

$link = connect();

// 发送执行

$result = mysqli_query($link,$sql);

//取得结果

$row = mysqli_fetch_assoc($result);

// 释放资源

mysqli_free_result($result);

// 关闭连接

return $row;

}


/**

 * 得到结果集中所有记录 ...

 * @param string $sql

 * @param string $result_type

 * @return multitype:

 */

function fetchAll($sql){

//连接数据库

$link = connect();

$result=mysqli_query($link,$sql);


if($result && mysqli_affected_rows($link) > 0){

//如果有结果才执行

while(@$row = mysqli_fetch_assoc($result)){

$rows[]=$row;

}

return $rows;

// 释放资源

mysqli_free_result($result);

// 关闭连接

mysqli_close($link);

}

return false;

}


/**

 * 得到上一步插入记录的ID号

 * @return number

 */

function getInsertId(){

//连接数据库

$link = connect();

return mysqli_insert_id($link);

}


/**

 * 得到结果集中的记录条数

 * @param unknown_type $sql

 * @return number

 */

function getResultNum($sql){

//连接数据库

$link = connect();

$result=mysqli_query($link,$sql);

// 关闭连接

mysqli_close($link);

//结果集中的记录条数

return mysqli_num_rows($result);

}



// 专门用于数据库的查询(老师的)

function query($sql){

//连接数据库

$link = connect();

// 发送执行

$result = mysqli_query($link,$sql);


$list = array();

// 循环遍历结果集

while($row = mysqli_fetch_assoc($result)){

$list[] = $row;

}


// 释放资源

mysqli_free_result($result);

// 关闭连接

mysqli_close($link);


// 直接把遍历好的数据返回

return $list;

}


/**

 * 查询数据库中表的下一个自增ID

 * @param [type] $MYSQL_DB   [description]

 * @param [type] $TABLE_NAME [description]

 */

function AutoID($MYSQL_DB,$TABLE_NAME){

//连接数据库

$link = @mysqli_connect(HOST,USER,PASS,'information_schema') or exit('连接失败');

//获取MYSQL下一个自增ID

$sql="select Auto_increment from `TABLES` where Table_Schema='{$MYSQL_DB}' AND table_name='{$TABLE_NAME}'";

//执行查询

$result = mysqli_query($link,$sql);

//获取返回的一条信息

$row = mysqli_fetch_assoc($result);

$rows = $row['Auto_increment'];

// 释放资源

mysqli_free_result($result);

// 关闭连接

mysqli_close($link);

return $rows;


}




function get_str($id = 0) { 

    $str = "";

    //连接数据库

$link = connect();

//瓶接设计SQL

    $sql = "select id,typename from class where pid= $id"; 

    //查询pid的子类的分类  

    $result = mysqli_query($link,$sql);

    //如果有子类

    if($result && mysqli_affected_rows()){ 

        $str .= '<ul>'; 

        while ($row = mysqli_fetch_array($result)) { //循环记录集 

            $str .= "<li>" . $row['id'] . "--" . $row['title'] . "</li>"; //构建字符串 

            get_str($row['id']); //调用get_str(),将记录集中的id参数传入函数中,继续查询下级 

        } 

        $str .= '</ul>'; 

    } 

    return $str; 


/**

 * 通过不断向下查询的方法格式化无限级分类

 * @param  integer $id [description]

 * @return [type]      [description]

 */

function get_array($id=0){ 

    $link = connect();

    $sql = "select id,typename from wzb_cate where reid= $id"; 

    $result = mysqli_query($link,$sql);//查询子类 

    $arr = array(); 

    if($result && mysqli_affected_rows($link)){//如果有子类 

        while($rows = mysqli_fetch_assoc($result)){ //循环记录集 

            $rows['0'] = get_array($rows['id']); //调用函数,传入参数,继续查询下级 

            $arr[] = $rows; //组合数组 

        } 

        return $arr; 

    } 


/**

 * 遍历下拉菜单

 * @param  integer $reid [description]

 * @param  array   &$arr [description]

 * @param  integer $i    [description]

 * @return [type]        [description]

 */

function getList($reid=0,&$arr=array(),$i=0){

$i=$i+6;

$link = connect();


$sql = "SELECT * FROM `wzb_cate` WHERE `reid`=$reid";


$result = mysqli_query($link,$sql);


while ($rows = mysqli_fetch_assoc($result)){

$rows['typename'] = str_repeat("&nbsp;", $i)."|--".$rows['typename'];

$arr[]=$rows;

getList($rows['id'],$arr,$i);

}

return $arr;

}


1 回复 有任何疑惑可以回复我~

你把require_once(..'\include.php' );全部改成 require_once( dirname(dirname(__FILE__)).'\include.php' );

dirname(__FILE__)是当前目录  dirname(dirname(__FILE__))是上级目录 如此累推,全部把包含文件换成这样的获取方法就不会再有多重引用造成的报错了。

session的开启你直接在 include.php 这个配置文件里开启,其他地方就没有必要再去重复开启了。

另:看你发的截图报错并不是因为session的原因,还是在于包含文件造成的。



0 回复 有任何疑惑可以回复我~

5726debb000124d605000282.jpg

5726debb000135bc05000282.jpg

这个报错

0 回复 有任何疑惑可以回复我~

<?php

//包含函数库

require_once( dirname(dirname(__FILE__)).'\include.php' );

/**

require_once( dirname(dirname(__FILE__)).'\include.php' ); 是  ../的替代写法,因为 ../这样的相对路径在文件互相包含之后就会找不到。。 替代下就可以了。。

0 回复 有任何疑惑可以回复我~
#1

Vivencore 提问者

谢谢 那session报错所以经有start的怎么办
2016-05-02 回复 有任何疑惑可以回复我~
#2

Vivencore 提问者

如下图
2016-05-02 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
手把手教你实现电商网站后台开发
  • 参与学习       117284    人
  • 解答问题       1999    个

手把手教你用PHP搭建电子商务平台,由浅入深教你搭建电商系统

进入课程

mysql.func.php里面语句not avialble in php7要怎么修改?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信