Mac本地环境搭建

在Mac系统,我们可以使用MAMP Pro 软件来搭建本地服务器。安装好这款软件,网站的目录在 /Applications/MAMP/htdocs 文件夹里,只需将文件放入该文件夹中,就可以通过http://localhost:8888来访问了,或者通过点击如下红色下划线按钮来快速访问站点。

mac系统下安装php,两行即可。

brew tap josegonzalez/homebrew-php

brew install php54

安装完后配置一下,你就可以使用phpstorm来愉快地编程啦。安装的php路径在/usr/local/bin/php

数据库基本操作

1)用户的 Web 浏览器发出 HTTP 请求,请求特定 Web 页面。

2)Web服务器收到.php 的请求获取该文件,并将它传到 PHP 引擎,要求它处理。 3)PHP 引擎开始解析脚本。 脚本中有一条连接数据库的命令, 还有执行一个查询的令。命

PHP 打开通向 MYSQL 数据库的连接,发送适当的查询。

4)MYSQL 服务器接收数据库查询并处理。将结果返回到 PHP 引擎。

5)PHP 以你去哪干完成脚本运行,通常,这包括将查询结果格式化成 HTML 格式。然

后再输出 HTML 返回到 Web 服务器。

6)Web服务器将 HTML 发送到浏览器。

MySQL 常用数据类型

整数型:TINYINT,SMALLINT,INT,BIGINT

浮点型:FLOA T,DOUB LE,DECIMAL(M,D)

字符型:CHAR,VARCHAR

日期型:DA TETIME,DA TE,TIMESTA MP

备注型:TINYTEXT,TEXT,LONGTEXT

MySQL 数据库操作

1)显示当前存在的数据库

>SHOWDATABASES;

2)选择你所需要的数据库

>USEguest;

3)查看当前所选择的数据库

>SELECTDATABASE();

4)查看一张表的所有内容

>SELECT*FROMguest; //可以先通过SHOWTABLES;来查看有多少张表

5)根据数据库设置中文编码

>SET NAMESgbk; //set names utf8;

6)创建一个数据库

>CREATEDATABASEbook;

7)在数据库里创建一张表

>CREATETABLEusers (

>username VARCHAR(20),//NOT NULL 设置不允许为空

>sex CHAR(1),

>birth DATETIME);

8)显示表的结构

>DESCIRBEusers;

9)给表插入一条数据

>INSERT INTO users (username,sex,birth) VALUES('jack','male',NOW());

PHP连接MySQL数据库

连接数据库

header('COntent-Type:text/html;charset=utf-8');//设置页面编码,如果文件是gbk编码,则charset也应用gbk

//@表示如果出错了,不要报错,直接忽略

//参数:服务器地址,用户名和密码

echo (!!@mysql_connect('localhost','root','*****'));//1

?>

我们用双感叹号!!来将资源句柄转换成布尔值,正确输出1,错误则输出错误信息。而如果前面加了@符号,则忽略错误信息,不会输出错误信息。

对于错误消息的处理,我们可以使用mysql_error()函数来输出错误消息:

mysql_connect('localhost','root','****') or die('数据库连接失败,错误信息:'.mysql_error());//对于密码错误的提示:数据库连接失败,错误信息:Access denied for user 'root'@'localhost' (using password: YES)

die() 函数输出一条消息,并退出当前脚本。该函数是 exit() 函数的别名。

数据库连接参数,可以用常量来存储,这样就不能被随意修改,更加安全。

//定义常量参数

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PWD','345823');//密码

$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());

echo $connect;//Resource id #2

?>

值得注意的是,mysql_connect()括号内的常量可不能加引号,否则肯定出错。

选择指定的数据库

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PWD','345823');//密码

define('DB_NAME','trigkit');//在phpmyadmin创建一个名为trigkit的数据库

//连接数据库

$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());

//选择指定数据库

mysql_select_db(DB_NAME,$connect) or die('数据库连接错误,错误信息:'.mysql_error());//将表名字故意写错,提示的错误信息:数据库连接错误,错误信息:Unknown database 'trigkt'

?>

通常不需要使用 mysql_close(),因为已打开的非持久连接会在脚本执行完毕后自动关闭

mysql_select_db(database,connection):选择MySQL数据库

获取记录集

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PWD','345823');//密码

define('DB_NAME','trigkit');

//连接数据库

$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());

//选择指定数据库

mysql_select_db(DB_NAME,$connect) or die('数据表连接错误,错误信息:'.mysql_error());

//从数据库里把表的数据提出来(获取记录集)

$query = "SELECT * FROM class";//在trigkit数据库中新建一张'表'

$result = mysql_query($query) or die('SQL错误,错误信息:'.mysql_error());//故意将表名写错:SQL错误,错误信息:Table 'trigkit.clas' doesn't exist

?>

mysql_query() 函数执行一条 MySQL 查询。

输出数据

define('DB_HOST','localhost');

define('DB_USER','root');

define('DB_PWD','345823');//密码

define('DB_NAME','trigkit');

//连接数据库

$connect = mysql_connect(DB_HOST,DB_USER,DB_PWD) or die('数据库连接失败,错误信息:'.mysql_error());

//选择指定数据库,设置字符集

mysql_select_db(DB_NAME,$connect) or die('数据表连接错误,错误信息:'.mysql_error());

mysql_query('SET NAMES UTF8') or die('字符集设置出错'.mysql_error());

//从数据库里把表的数据提出来(获取记录集)

$query = "SELECT * FROM class";

$result = mysql_query($query) or die('SQL错误,错误信息:'.mysql_error());

print_r(mysql_fetch_array($result,MYSQL_ASSOC));

?>

释放结果集资源(仅需要在考虑到返回很大的结果集时会占用多少内存时调用。)

mysql_free_result($result);

?>

增删改查

新增数据

require 'index.php';

//新增数据

$query = "INSERT INTO CLASS(

name,

email,

point,

regdate)

VALUES (

'小明',

'xiaoming@163.com',

100,

NOW()

)";

@mysql_query($query) or die('新增错误:'.mysql_error());

?>

我们将上面的代码保存为index.php,丢进/Applications/MAMP/htdocs/ 文件夹。将上面的代码保存为demo.php,放进同样的目录内。Mac系统获取文件的路径很简单,只需将文件拉进终端即可显示路径名。

修改数据

我们假设要修改的数据的名称是小明,id为2,将他的point分数修改为80分,代码如下:

require 'index.php';

//修改数据

$query = 'UPDATE class SET point=80 WHERE id=2';

@mysql_query($query);

?>

删除数据

require 'index.php';

//删除数据

$query = "DELETE FROM class WHERE id=2";

@mysql_query($query);

mysql_close();

?>

显示数据

require 'index.php';

//显示数据

$query = "SELECT id,name,email,regdate FROM class";

$result = mysql_query($query) or die('sql语句错误:'.mysql_error());

print_r(mysql_fetch_array($result));

mysql_close();

?>

或者显示指定值数据:

$data = mysql_fetch_array($result);

echo $data['email'];//显示email

echo $data['name'];//显示name

其他常用函数

mysql_fetch_lengths(): 取得结果集中每个输出的长度

mysql_field_name(): 取得结果中指定字段的字段名

mysql _fetch_row():从结果集中取得一行作为枚举数组

mysql_fetch_assoc(): 从结果集中取得一行作为关联数组

mysql_fetch_array(): 从结果集中取得一行作为关联数组,或数字数组,或二者兼有

mysql_num_rows(): 取得结果集中行的数目

mysql_num_fields():取得结果集中字段的数目

mysql_get_client_info(): 取得 MySQL 客户端信息

mysql_get_host_info(): 取得 MySQL 主机信息

mysql_get_proto_info(): 取得 MySQL 协议信息

mysql_get_server_info(): 取得 MySQL 服务器信息

php操作mysql数据_详解PHP操作MySQL数据库相关推荐

  1. python提取hbase数据_详解python操作hbase数据的方法介绍

    配置 thrift python使用的包 thrift 个人使用的python 编译器是pycharm community edition. 在工程中设置中,找到project interpreter ...

  2. navicat for mysql命令行_详解 Navicat for MySQL 命令工具

    Navicat for MySQL是一套管理和开发MySQL或MariaDB的理想解决方案,支持单一程序,可同时连接到MySQL和MariaDB.这个功能齐备的前端软件为数据库管理.开发和维护提供了直 ...

  3. mysql分区表truncate分区数据_详解MySQL分区表

    前言: 分区是一种表的设计模式,通俗地讲表分区是将一大表,根据条件分割成若干个小表.但是对于应用程序来讲,分区的表和没有分区的表是一样的.换句话来讲,分区对于应用是透明的,只是数据库对于数据的重新整理 ...

  4. mysql数据存储过程详解_mysql数据存储过程参数实例详解

    MySQL 存储过程参数有三种类型:in.out.inout.它们各有什么作用和特点呢? 一.MySQL 存储过程参数(in) MySQL 存储过程 "in" 参数:跟 C 语言的 ...

  5. Docker的mysql镜像_详解docker下的Mysql镜像的使用方法

    通常初学者学习docker时,不太清楚怎样拉取一个Mysql镜像并使用,今天这篇文章简单介绍一下使用流程. 一.预习一下用到的docker命令: 1.docker images 列出本地主机上的镜像. ...

  6. Mysql 数据类型转换详解 (convert、cast)

    文章目录 1 概述 2 类型转换 3 扩展 3.1 日期时间函数 1 概述 #mermaid-svg-ItXfZsGMo79eou3H {font-family:"trebuchet ms& ...

  7. 详解mysql事务_详解MySQL执行事务的语法和流程

    摘要:MySQL 提供了多种存储引擎来支持事务. MySQL 提供了多种存储引擎来支持事务.支持事务的存储引擎有 InnoDB 和 BDB,其中,InnoDB 存储引擎事务主要通过 UNDO 日志和 ...

  8. python获取mp3音频数据_详解python进行mp3格式判断 python怎么读取mp3文件

    python中哪个库有em算法 EM算法初稿2016-4-28 初始化三个一维的高斯分布 from numpy import * import numpy as np import matplotli ...

  9. mysql grep 提取错误日志_详解grep获取MySQL错误日志信息的方法

    为方便维护MySQL,写了个脚本用以提供收集错误信息的接口.这些错误信息来自与MySQL错误日志,而 通过grep mysql可以获取error-log的路径. 以下是全部相关代码: #!/usr/b ...

  10. python中字典是几维数据_详解Python字典数据类型

    字典的定义 dictionary(字典)是除列表以外 Python之中最灵活的数据类型. 字典同样可以用来存储多个数据,通常用于存储描述一个物体的相关信息. 和列表的区别:列表是有序的对象集合,字典是 ...

最新文章

  1. php curl 内容采集
  2. Windows Mobile 5.0 中为开发人员提供的新功能(3)
  3. 使用Nginx+FFMPEG搭建HLS直播转码服务器
  4. 一文读懂阿里云数据库Autoscaling是如何工作的
  5. a programmer should know...
  6. mysql 二次 聚合,MySql-聚合查询
  7. html 页面重复度高,哪些情况容易造成重复页面
  8. 提高代码可读性: 命名技术
  9. 线性dp——cf988F
  10. SpringBoot和SpringCloud面试题
  11. html css三类选择器,css三类选择器 用法 引用
  12. 数据分析数据可视化(四)
  13. Pyinstaller将外部数据文件打包到可执行文件中(onefolder or onefile)教程
  14. kubernetes 集群管理平台
  15. mc服务器tp到指定,我的世界怎么把别人tp到指定地点 | 手游网游页游攻略大全
  16. 浏览器扫码器 ,扫描二维码,浏览器调起二维码,扫一扫功能,网页版扫一扫
  17. win7计算机节电模式,极力推荐!win7系统的省电模式应该怎么关闭呢?
  18. 四、Vue.js 模板语法
  19. 一份OA的数据库设计
  20. 中职教资计算机网络面试,2018下半年教师资格证面试:中学信息技术教案《计算机网络的组成》...

热门文章

  1. 2017.5.26暴力赛解题报告
  2. Git.Framework 框架随手记--ORM条件组合
  3. 2020-10-18
  4. 七月算法机器学习1 概率论
  5. Vuforia的ARcamera通过识别人工标识码出现虚拟物体后在其相机视野中不显示人工标识码
  6. 《行为科学统计7e(Statistics for the Behavioral Sciences 10e)》 Introduction to Statistics
  7. Atitit 前端性能提升方案 目录 1. 优化分类 2 1.1. ,第一类是页面级别的优化, 2 1.2. 第二类则是代码级别的优化, 2 1.3. 前端性能优化的七大手段,包括减少请求数量、减小
  8. Atitit 读取音频音乐文件的bpm 目录 1.1. Librosa是一个用于音频、音乐分析、处理的python工具包, 1 1.2. \bpm.py 1 1.3. Echo 2 1.4. Cod
  9. Atiitt cdn技术总结 性能提升之道 目录 1. 组成 最简单的CDN网络由一个DNS服务器和几台缓存服务器组成: 1 1.1. CDN是一个经策略性部署的整体系统,包括分布式存储、负载均衡
  10. Atitit. Ati IDE 开发平台的第一版规划