搜索

创建一张数据表并练习数据库的写操作(新增/更新/删除)

原创 2019-04-02 16:33:40 333
摘要:<?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 语句里面吗?不然会报错没有默认属性值,有什么解决办法啊。

sdsfs.png


PHP

 

MySQL

 

HTML

 

CSS

 

JavaScript

 

jQuery

 

AJAX

 

Html5

 

CSS3

 

Linux

 

Redis

 

Memcached

更多分类

最多选择三个分类

   刷新

批改老师:查无此人批改时间:2019-04-03 13:14:55
老师总结:1,跳着增加,看你是不是给id赋值了,还有一种情况是,添加后被删除了,id也算增加了一次。 2,字段不能为空时,就要给与默认值。才可以在插入语句时,不传值。 继续加油

发布手记

热门词条