摘要:<?php // layui echo '<link rel="stylesheet" href="/layui/layui/css/layui.css">'; echo '<script type="text/javascript"
<?php // layui echo '<link rel="stylesheet" href="/layui/layui/css/layui.css">'; echo '<script type="text/javascript" src="/layui/layui/layui.js"></script>'; // driver $dsn = 'mysql:host=127.0.0.1;dbname=php_mysql;charset=utf8'; $user = 'root'; $pass = '123456'; // conn try{ $pdo = new PDO($dsn,$user,$pass); print_r('<p class="layui-btn layui-btn-lg layui-btn-normal">数据库连接成功...</p>'); }catch(PDOException $error){ print_r('<p class="layui-btn layui-btn-lg layui-btn-danger">数据库连接失败!</p>'); exit($error->getMessage()); } // sql $sql = 'insert into `user_info` (`user_id`,`name`,`age`,`status`,`skill`,`email`,`password`,`create_time`,`sex`) values (:user_id,:name,:age,:status,:skill,:email,:password,:create_time,0)'; // prepare $stmt = $pdo->prepare($sql); // bind $user_id = ''; $name = '左冷禅son6'; $age = 52; $status = 0; $skill = '嵩山派掌门人,想独占辟邪剑谱'; $email = 'zuolengshan@aliyun.com'; $password = sha1('123456'); $create_time = time(); $stmt->bindParam(':user_id',$user_id,PDO::PARAM_STR); $stmt->bindParam(':name',$name,PDO::PARAM_STR,30); $stmt->bindParam(':age',$age,PDO::PARAM_INT); $stmt->bindParam(':status',$status,PDO::PARAM_INT); $stmt->bindParam(':skill',$skill,PDO::PARAM_STR); $stmt->bindParam(':email',$email,PDO::PARAM_STR); $stmt->bindParam(':password',$password,PDO::PARAM_INT); $stmt->bindParam(':create_time',$create_time,PDO::PARAM_INT); // execute if($stmt->execute()){ echo $stmt->rowCount()>0? $stmt->rowCount().'条记录受影响' : '没有被添加记录'; }else{ print_r($stmt->errorInfo()); }
老师:我有两个问题。
第一:为什么我执行新增操作的时候id不是按照顺序增加的,跳着增加。
第二:字段设置的not null, 执行添加数据,属性为not null的字段必须写到insert 语句里面吗?不然会报错没有默认属性值,有什么解决办法啊。
最多选择三个分类
批改老师:查无此人批改时间:2019-04-03 13:14:55
老师总结:1,跳着增加,看你是不是给id赋值了,还有一种情况是,添加后被删除了,id也算增加了一次。
2,字段不能为空时,就要给与默认值。才可以在插入语句时,不传值。
继续加油