mac os php mysql_Mac OS下PHP环境搭建及PHP操作MySQL常用方法小结

mac本地环境搭建在mac系统,我们可以使用mamp pro (官方网站:https://www.mamp.info/en/)软件来搭建本地服务器。安装好这款软件,网站的目录在 /applications/mamp/htdocs 文件夹里,只需将文件放入该文件夹中,就可以通过http://localhost:8888来访问了,或者通过点击如下红色下划线按钮来快速访问站点。

7cf4644d72c1d52ee8013a99e9e77b48.png

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

brew tap josegonzalez/homebrew-php

brew install php54

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

数据库基本操作

8dfe353a7eedbd2fdc555078b8beafb5.png

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 服务器信息

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

以下是对提供的参考资料的总结,按照要求结构化多个要点分条输出: 4G/5G无线网络优化与网规案例分析: NSA站点下终端掉4G问题:部分用户反馈NSA终端频繁掉4G,主要因终端主动发起SCGfail导致。分析显示,在信号较好的环境下,终端可能因节能、过热保护等原因主动释放连接。解决方案建议终端侧进行分析处理,尝试关闭节电开关等。 RSSI算法识别天馈遮挡:通过计算RSSI平均值及差值识别天馈遮挡,差值大于3dB则认定有遮挡。不同设备分组规则不同,如64T和32T。此方法可有效帮助现场人员识别因环境变化引起的网络问题。 5G 160M组网小区CA不生效:某5G站点开启100M+60M CA功能后,测试发现UE无法正常使用CA功能。问题原因在于CA频点集标识配置错误,修正后测试正常。 5G网络优化与策略: CCE映射方式优化:针对诺基亚站点覆盖农村区域,通过优化CCE资源映射方式(交织、非交织),提升RRC连接建立成功率和无线接通率。非交织方式相比交织方式有显著提升。 5G AAU两扇区组网:与三扇区组网相比,AAU两扇区组网在RSRP、SINR、下载速率和上传速率上表现不同,需根据具体场景选择适合的组网方式。 5G语音解决方案:包括沿用4G语音解决方案、EPS Fallback方案和VoNR方案。不同方案适用于不同的5G组网策略,如NSA和SA,并影响语音连续性和网络覆盖。 4G网络优化与资源利用: 4G室分设备利旧:面对4G网络投资压减与资源需求矛盾,提出利旧多维度调优策略,包括资源整合、统筹调配既有资源,以满足新增需求和提质增效。 宏站RRU设备1托N射灯:针对5G深度覆盖需求,研究使用宏站AAU结合1托N射灯方案,快速便捷地开通5G站点,提升深度覆盖能力。 基站与流程管理: 爱立信LTE基站邻区添加流程:未提供具体内容,但通常涉及邻区规划、参数配置、测试验证等步骤,以确保基站间顺畅切换和覆盖连续性。 网络规划与策略: 新高铁跨海大桥覆盖方案试点:虽未提供详细内容,但可推测涉及高铁跨海大桥区域的4G/5G网络覆盖规划,需考虑信号穿透、移动性管理、网络容量等因素。 总结: 提供的参考资料涵盖了4G/5G无线网络优化、网规案例分析、网络优化策略、资源利用、基站管理等多个方面。 通过具体案例分析,展示了无线网络优化中的常见问题及解决方案,如NSA终端掉4G、RSSI识别天馈遮挡、CA不生效等。 强调了5G网络优化与策略的重要性,包括CCE映射方式优化、5G语音解决方案、AAU扇区组网选择等。 提出了4G网络优化与资源利用的策略,如室分设备利旧、宏站RRU设备1托N射灯等。 基站与流程管理方面,提到了爱立信LTE基站邻区添加流程,但未给出具体细节。 新高铁跨海大桥覆盖方案试点展示了特殊场景下的网络规划需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值