Mac OS下PHP环境搭建及PHP操作MySQL常用方法小结_MySQL
Mac本地环境搭建 在Mac系统,我们可以使用MAMP Pro (官方网站:https://www.mamp.info/en/)软件来搭建本地服务器。安装好这款软件,网站的目录在 /Applications/MAMP/htdocs 文件夹里,只需将文件放入该文件夹中,就可以通过http://localhost:8888来访问了,或者通过点击如下红色下划线按钮来快速访问站点。 mac系统下安装php,两行即可。 brew tap josegonzalez/homebrew-phpbrew install php54 安装完后配置一下,你就可以使用phpstorm来愉快地编程啦。安装的php路径在/usr/local/bin/php 数据库基本操作 1)用户的 Web 浏览器发出 HTTP 请求,请求特定 Web 页面。 >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数据库 <?php 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) 数据库连接参数,可以用常量来存储,这样就不能被随意修改,更加安全。 <meta charset="utf-8"><?php //定义常量参数 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()括号内的常量可不能加引号,否则肯定出错。 选择指定的数据库 <?php 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数据库 <meta charset="utf-8"><?php 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 查询。 输出数据 <meta charset="utf-8"><?php 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));?> 释放结果集资源(仅需要在考虑到返回很大的结果集时会占用多少内存时调用。) <?php mysql_free_result($result); ?> 增删改查 <?php 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系统获取文件的路径很简单,只需将文件拉进终端即可显示路径名。 修改数据 <?php require 'index.php'; //修改数据 $query = 'UPDATE class SET point=80 WHERE id=2'; @mysql_query($query);?> 删除数据 <?php require 'index.php'; //删除数据 $query = "DELETE FROM class WHERE id=2"; @mysql_query($query); mysql_close();?> 显示数据 <?php 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'];//显示emailecho $data['name'];//显示name 其他常用函数 mysql _fetch_row():从结果集中取得一行作为枚举数组 mysql_num_rows(): 取得结果集中行的数目 mysql_get_client_info(): 取得 MySQL 客户端信息 |