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

为什么添加失败,数据却已经添加进去了,求助啊

/**
* 添加管理员
* @return string
*/
function addAdmin(){
  $arr=$_POST;
  $arr['password']=md5($_POST['password']);
  if(insert("imooc_admin",$arr)){//imooc_admin是要插入数据的数据库名
     $mes="添加成功!<br/><a href='../admin/addAdmin.php'>继续添加</a>|<a href='listAdmin.php'>查看管理员列表</a>";
  }else{
     $mes="添加失败!<br/><a href='../admin/addAdmin.php'>重新添加</a>";
  }
  return $mes;
}

有错??

mysql.func.php里的:

/**
* 完成记录插入的操作
* @param string $table
* @param array $array
* @return number
*/
function insert($table,$array){
  $keys=join(",",array_keys($array));
  $vals="'".join("','",array_values($array))."'";
  $sql="insert {$table}($keys) values({$vals})";
  mysqli_query(connect(),$sql);
  return mysqli_insert_id(connect());
}

我承认我是渣渣了,会不会是mysqli的问题

正在回答

2 回答

高手啊  我也一直在纠结  怎么加link

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

insert方法里面,不应该直接用connect,而是用$link来代替。因为你每次使用mysql相关函数的时候都使用了新的连接,那么mysqli_insert_id返回的就可能是0。

修改的地方有好几处哦

①insert方法修改为

function insert($table,$array,$link)            //参数加了个$link
....//相同代码懒得打
mysqli_query($link,$sql);                       // 第一个参数改成了$link.    
return mysqli_insert_id($link);                // 参数改成了$link.

②addAdmin()修改为

....//相同代码懒得打
if(insert("imooc_admin",$arr,$link)){          //参数加了个$link

③那么,$link哪里来呢?就是在include.php的最后面。之前老师不是在include.php里面写了个 connect();吗?

改成 $link = connect(); 就可以了,这样每包含这个文件就可以使用$link。

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

qq_光亮_1

把$link加进去还是不行,能帮忙看看嘛
2018-05-13 回复 有任何疑惑可以回复我~

举报

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

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

进入课程

为什么添加失败,数据却已经添加进去了,求助啊

我要回答 关注问题
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号