我的PHP之旅--数据库连接MySQL服务器,添加 删除 查询
PHP连接MySQL服务器
连接MySQL的方法:mysql_connect();
- 语法:resource $link = mysql_connect($hostname, $username, $password);
- $hostname参数:是MySQL服务器的域名或地址,可以在后面加上端口号。如:localhost:3306
- $username参数:是MySQL服务器的用户名,如:root
- $password参数:是MySQL服务器用户民的密码。
- 返回值:如果执行成功,返回一个资源标识符,如果执行失败,返回false。
<?php $link = @mysql_connect("localhost:3308","root",""); if (!$link) { echo "链接数据库失败。".mysql_error()."<br />"; exit("数据库打开失败,以关闭程序。"); } ?>
选择数据库方法:mysql_select_db();
语法:bool mysql_select_db(string $database_name[,resource $link]);
- $database参数:数据库名字。
- $link参数:可选,如果不填就会默认用上一次链接数据库返回的resource类型的变量$link
if (!mysql_select_db($db_name, $link)) { echo "打开数据库出错。".mysql_error(); }
发送sql语句:mysql_query();
语法:bool mysql_query(string $query[,resource $link]);
- $qurey参数:要发送的sql语句,可以是增删该查。
- $link参数:可选参数,默认是上一次打开的link。
- 返回值:SELECT, SHOW, DESCRIBE命令时返回一个结果集(也是一个资源标识符,是MySQL数据的引用地址),如果执行其他语句则返回bool值。
设置MySQL返回和发送的数据字符集:
mysql_query("set names utf8");
添加数据
$sql_insert = "INSERT INTO 007_news(cat,title,author,content)VALUES(2,'测试数据标题','some author','测试信息的内容');"; $result = mysql_query($sql_insert,$link); if ($result) { echo "添加成功"; }
查找数据
- 语法:$resource = mysql_query("SELECT * FROM table_name WHERE id<100 ORDER BY id DESC");
- $resource变量:当mysql_query执行的是查询语句 会返回一个结果集而不是bool。我们要的数据都在$resource中。
- 取出一条数据:$arr = mysql_fetch_array($resource[, int $result_type]);
- $resource参数:结果集。
- $result_type:返回的结果类型,此参数需要传系统常量:MYSQL_BOTH, MYSQL_ASSOC, MYSQL_NUM。
- MYSQL_BOTH: 默认值,返回混合数组。
- MYSQL_ASSOC: 返回一个关联数组:与mysql_fetch_assoc();同效。
- MYSQL_NUM: 返回一个枚举数组:与mysql_fetch_row();同效。
- 返回值:返回一个数组(只包含一条数据),数组类型取决于第二个参数。
- 我们可以使用while循环来取出所有数据,当取出第一条数据后再次调用这个函数 它会自动取出下一条数据,无需程序员做别的操作。
首先,我们写一个公共的链接数据库的文件。
<?php // 声明PHP输出数据的字符集 header("content-type:text/html;charset=utf-8"); // 配置信息 $db_host = "localhost:3306"; $db_username = "root"; $db_password = ""; $db_name = "Alex"; // 链接数据库 $link = @mysql_connect($db_host, $db_username, $db_password); if (!$link){ exit("连接数据库失败"); } // 选择数据库 if (!mysql_select_db($db_name, $link)){ exit("选择数据库失败"); } // 设置数据库返回的字符集 mysql_query("set names utf8", $link); ?>
引用公共文件,开始进行取数据的学习:
<?php include "MySQL_Connect.php"; $sql = "SELECT id,title,author FROM 007_news WHERE id < 100 ORDER BY id DESC"; $result = mysql_query($sql); if (!$result){ exit("没有取出数据"); } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>数据展示</title> </head> <body> <table width="100%" border="1px" cellpadding="5px"> <tr> <th>序号</th> <th>标题</th> <th>作者</th> </tr> <?php while ($arr = mysql_fetch_assoc($result)){ ?> <tr> <th><?php echo $arr["id"] ?></th> <th><?php echo $arr["title"] ?></th> <th><?php echo $arr["author"] ?></th> </tr> <?php } ?> </table> </body> </html>
删除数据
- 语法:mysql_query("DELETE FROM table_name WHERE id = 99");
给展示数据表页面添加操作:
<?php include "MySQL_Connect.php"; $sql = "SELECT id,title,author FROM 007_news WHERE id < 100 ORDER BY id DESC"; $result = mysql_query($sql); if (!$result){ exit("没有取出数据"); } ?> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8"> <title>数据展示</title> <script type="text/javascript"> function delData (id) { if (window.confirm("确定要删除这条数据吗?")){ // 把id传过去。 location.href = "delete_data.php?id="+id; } } </script> </head> <body> <table width="100%" border="1px" cellpadding="5px"> <tr> <th>序号</th> <th>标题</th> <th>作者</th> <th>操作</th> </tr> <?php // 声明变量 $i = 0; $str = ""; while ($arr = mysql_fetch_assoc($result)) { $i % 2 == 0 ? $str.= "<tr aligh = 'center' bgcolor='#f6f6f6'>\n" : $str .= "<tr aligh = 'center'>\n"; $str .= "<td>".$arr['id']."</td>\n"; $str .= "<td>".$arr['title']."</td>\n"; $str .= "<td>".$arr['author']."</td>\n"; $str .= "<td><a href='javascript:void(0)'onClick='delData(".$arr['id'].")'>删除</a></td>\n"; $str .= "</tr>\n"; $i++; } echo $str; ?> </table> </body> </html>
当点击删除后,确定删除会跳转到delete_data.php
<?php include "MySQL_Connect.php"; // 导入地址栏中的id参数 $id = (int)$_GET["id"]; // 删除语句 $sql = "DELETE FROM 007_news WHERE id = {$id}"; mysql_query($sql); // 调回到列表页 header("location:learn_sql.php"); ?>
我的PHP之旅--数据库连接MySQL服务器,添加 删除 查询的更多相关文章
- mysql 修改 添加 删除 表字段
添加表的字段 alter table 表名 add 字段名 字段的类型 例子: alter table table1 add transactor varchar(10) n ...
- 【mysql】添加删除权限
https://www.cnblogs.com/wuxunyan/p/9095016.html
- MySQL服务器是怎么处理客户端请求的
不论MySQL客户端进程和服务器进程是采用哪种方式进行通信,最后实现的效果都是:客户端进程向服务器进程发送一段文本(MySQL语句),服务器进程处理后再向客户端进程发送一段文本(处理结果).那服务器进 ...
- 怎么快速了解自己的MySQL服务器
1.查看数据库服务器状态:status Linux 下的MySQL服务器状态 该列表中主要包括MySQL的版本(为version 5.1.61).运行平台(debian-linux-gnu(i68 ...
- 怎么快速了解自己的MySQL服务器?
From: http://www.cnblogs.com/benshan/archive/2013/01/09/2853097.html 1.查看数据库服务器状态:status Linux 下的MyS ...
- 闰秒导致MySQL服务器的CPU sys过高
今天,有个哥们碰到一个问题,他有一个从库,只要是启动MySQL,CPU使用率就非常高,其中sys占比也比较高,具体可见下图. 注意:他的生产环境是物理机,单个CPU,4个Core. 于是,他抓取了CP ...
- 如何配置远程mysql服务器
如何配置远程mysql服务器 分配用户权限 可以先看一下目前的用户权限状况: use mysql; select host,user,password from user; 然后分配新的权限给某一用户 ...
- MYSQL服务器my.cnf配置文档详解
MYSQL服务器my.cnf配置文档详解 硬件:内存16G [client] port = 3306 socket = /data/3306/mysql.sock [mysql] no-auto-re ...
- mysql服务器和配置优化
一.存储引擎 mysql中有多种存储引擎,一般常见的有三种: MyIsam InnoDB Memory 用途 快读 完整的事务支持 内存数据 锁 全表锁定 多种隔离级别的行锁 全表锁定 持久性 基 ...
随机推荐
- git 常用命令 创建查看删除分支,创建查看删除tag等
1. git 文档 https://github.com/progit/progit/blob/master/zh/02-git-basics/01-chapter2.markdown https ...
- show variables 详解
back_log MySQL主线程检查连接并启动一个新线程这段时间内,可以设置多少个请求可以被存在堆栈中 connect_timeout 连接超时 检测方法nmap -p3306 数据库ip dela ...
- 关于SWT/JFace的事件模型的四种方式
事件的4种写法 1.匿名内部类方式的写法 2.命名内部类的写法 3.外部类写法 4.实现监听接口的写法 第一种用匿名内部类的方法: public class HelloWorld { private ...
- win7 X64可用的单文件IE6
由于日常调试需要用到老版本的ie,没有办法!用ietest老师感觉不好使,动不动就死了.就找到了ie的单文件版,有博主 小明爱切糕制作,IE6.7.8单文件版本 http://www.cnblogs. ...
- Android 常见adb命令
1. 查看所有已链接的设备 命令: adb devices 例: C:\Users\laiyu>adb devices List of devices attached 5d3b5aac ...
- js实现过滤重复字符和重复数组-javascript技巧
js实现过滤重复字符 <script type="text/javascript"> <!-- String.prototype.noRepeatStr=func ...
- SharePoint缓存导致访问慢解决
产品发布到公网时,客户每次访问页面都很慢,经过查找原因,发现在服务器上的APPFabric缓存出错误了: APPFabric缓存服务作用:用作内存中缓存来存储应用程序访问的数据,从而提高应用程序性能. ...
- 【制作镜像Win*】特殊配置
下载disk.config: wget http://10.254.3.75/images/configdrive/disk.config 修改libvirt.xml,更换cdrom为disk.con ...
- Android SDK下载技巧
转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/android-sdk-download-tips/ 说明 想必在国内的你,是不是经常在下载Android S ...
- 4.MySQL连接并选择数据库(SQL & C)
在连接了MySQL数据库之后,可以通过SQL命令或者C.PHP.JAVA等程序来指定需要操作的数据库.这里主要介绍SQL命令和相应的C程序. 首先创建用户rick(赋予所有权限) mysql> ...