php原生mysql查询_原生php操作数据库的增删改查

第一步:创建数据库,在数据库里面创建数据表,当然一个数据库里面可以有很多数据表,在这里我就创建一个表来存学生的个人姓名和成绩。

相关mysql视频教程推荐:《mysql教程》

思路:连接服务器—>创建数据库—>连接数据库—>创建数据表

脚本:创建数据库和数据表<?php

header("Content-type:text/html;charset=utf-8");

// 创建连接

$conn=mysql_connect('localhost','root','');//三个参数分别对应服务器名,账号,密码

// 检测连接

if (!$conn) {

die("连接服务器失败: " . mysql_connect_error());//连接服务器失败退出程序

}

// 创建数据库命名为studentinfo

$sql_database = "CREATE DATABASE studentinfo";

if (mysql_query($sql_database,$conn)) {

echo "数据库创建成功";

} else {

echo "数据库创建失败: " . mysql_error()."";

}

//连接数据库studentinfo

$sele=mysql_select_db( 'studentinfo' );

if(!$sele){

die("连接数据库失败: ".mysql_error());//连接数据库失败退出程序

}

// 创建数据表命名为student,主键为id(不为空整型),变量名为name(255位不为空字符串),变量名为chinese(4位不为空整型)

// 变量名为english(4位不为空整型),变量名为math(4位不为空整型)

$sql_table = "CREATE TABLE student( ".

"id INT NOT NULL AUTO_INCREMENT, ".

"name CHAR(255) NOT NULL, ".

"chinese INT(4) NOT NULL, ".

"english INT(4) NOT NULL, ".

"math INT(4) NOT NULL, ".

"PRIMARY KEY ( id )); ";

$retval = mysql_query( $sql_table, $conn );

if(! $retval ){

echo '数据表创建失败: ' . mysql_error()."";

}else{

echo "数据表创建成功";

}

mysql_query('set names utf8');

mysql_close($conn);//关闭连接

?>

现在在phpMyAdmin里就可以看到新增的数据库studentinfo和数据表student

a037c5d6101b13df595f519a2236e720.png

第二步:在studentinfo数据库的student数据表添加学生信息数据(增)

思路:连接服务器—>连接数据库—>往数据表插入指定数据

注意:因为前面的php已经创建服务器连接,并且连接数据库了,所以以下代码都省略了建立连接的部分,直接写函数语句。function addtabel_data(){

//多维数组

$datas=array(

array("name"=>"测试猫","chinese"=>100,"english"=>100,"math"=>100),

array("name"=>"测试狗","chinese"=>99,"english"=>99,"math"=>99),

array("name"=>"测试虎","chinese"=>98,"english"=>98,"math"=>98)

);

for($i=0;$i

$name=$datas[$i]["name"];

$chinese=$datas[$i]["chinese"];

$english=$datas[$i]["english"];

$math=$datas[$i]["math"];

//多维数组数据逐条插入student表

mysql_query("insert into student(name,chinese,english,math) values ('$name',$chinese,$english,$math)");

}

$res=mysql_affected_rows();//返回影响行

if($res>0){

echo "添加数据成功";

}else{

echo "添加数据失败";

}

}

addtabel_data();//调用

运行php发现添加数据失败,那是为什么呢?因为name中传入了带有中文的字符串,而student表中定义的name排序规则竟然不是utf-8???

afc23683283d3f30b3c8fad224417dde.png

没事我们可以一键修改排序规则,自行修改好了

c25b69a6a55484b94f5527b9bd18e89d.png

再运行,添加数据成功并且发现表中有数据了

1352bce4edb53a168a9ee5787bcdab83.png

第三步:根据查询条件在studentinfo数据库的student表里查询一条或多条指定信息(查)

6254dd485b7f148fa3b5216089761fb5.png

思路:连接服务器—>连接数据库—>根据条件查询数据表数据function selecttable_data($name){

$res=mysql_query("select * from student where name='$name'");//根据name来查询student数据

// $res=mysql_query("select * from student where name='$name' and chinese='$chinese'");//多条件查询连接符and

// $res=mysql_query("select * from student");//查询student表里所有数据

// $res=mysql_query("select * from student limit 0,2“);//限制前面第1到2条数据

if($res&&mysql_num_rows($res)){

while($sql=mysql_fetch_assoc($res)){

$arr[]=$sql;

}

echo json_encode($arr,JSON_UNESCAPED_UNICODE);//把数据(数组嵌套json类型)转换为字符串输出,这个ajax拿数据经常用

}else{

echo "找不到该数据";

}

}

selecttable_data("测试猫");//查询name为测试猫

第四步:根据修改条件在studentinfo数据库的student表里修改指定数据(改)

思路:连接服务器—>连接数据库—>根据条件修改数据表指定数据function updatetabel_data($name,$chinese){

mysql_query("update student set chinese='$chinese' where name='$name'");//修改student表里为$name的chinese数据修改为$chinese

$res=mysql_affected_rows();//返回影响行

if($res>0){

echo "修改成功";

}else{

echo "修改失败";

}

}

updatetabel_data("测试虎",90);//把测试虎的语文成绩修改为90分

测试虎语文成绩已经从98修改为90

283053e6664640bc20b63758a59a67ab.png

第五步:根据删除条件在studentinfo数据库的student表里删除指定数据(删)

思路:连接服务器—>连接数据库—>根据条件删除数据表指定数据function deletetable_data($name){

mysql_query("delete from student where name='$name'");//删除student表里为$name的整条数据

$res=mysql_affected_rows();//返回影响行

if($res>0){

echo "删除成功";

}else{

echo "删除失败";

}

}

deletetable_data('测试虎');//删除name为测试虎这条数据

fa1d7b2de6731fd43ba4ad748561f80c.png

测试虎这条数据已被删除

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值