13sever2php数据库交互

148 阅读2分钟

1、PHP:最简单的一门语言 爆火架构:LAMP php文件,后缀.php 1、*****如何运行php 打开apache,将你的项目/文件夹放到htdocs里面,在用浏览器输入127.0.0.1,打开你需要运行的文件

特殊:其实php文件也支持前端代码(HTML+CSS+JS)和php代码,以后我们上网的时候,发现网页的后缀,不是.html也不必惊讶

任何一门语言,万变不离其宗,js(客户端:特效)和php(服务器端:沟通)都是一个脚本语言

2、***PHP的语法基础 1、输出方式: 1、*echo(想要输出的内容); 或者 echo 想要输出的内容; echo只能输出4种标准类型,不能输出别的类型 2、var_dump(想要输出的内容) var_dump可以输出一切数据类型,显示很详细,正是因为显示的太过详细,其实要不得,php输出在页面上的东西,某一天都会被前端用ajax拿走拿到前端去

2、变量和常量:
	1、*变量:值可以变化的数据
	   语法:$变量名=值;
	   注意:使用时$不能省略

	2、常量:值一旦创建了,不允许修改
	   语法:const 常量名=值;

3、*数据类型:
	四种标准/基本/原始类型:
		整型:Int
		浮点型:Float/Double
		布尔:Boolean
		字符串:String - 有区别
			单引号 - 只能放入纯文本

			双引号 - 支持放入变量 - 类似js模板字符串
				echo "{$name}今年{$age}岁,喜欢{$hobby}";
                                                                            $arr=explode("&",$str); 切割字符串里所以的&,分散成单个字符串
                                                                            echo  json_encode ($arr)—返回值的 JSON 表示形式
                                                                            arr.length=>count($arr)
                                                                            array_push($arr,200);  把200从数组后面放入
                                                                            升序 sort()  降序rsort()

	两种复合类型:
		Array - 数组:保存多个相关数据
			创建:
			  1、直接量:$arr=[值1,...] - 索引数组
			  2、内置对象:$arr=array( - hash数组:其实就是对象
						key=>value,
						...
				       )
                                                              

			访问:$数组名[下标]

			遍历:循环

		Object - 面向对象,不需要

	两种特殊类型:
		Resource - 资源类型
		Null - 空,释放内存
			""  - 有,值为空
			null- 不存在

4、运算符:几乎和js一致,除了字符串拼接.,意味着php的API调用方法绝对不可能用.

5、分支:完全一样!if分支 switch分支 三目 都支持

6、循环:完全一样!

7、函数:完全一样!

8、所有的API:理论上来说完全一样,但是操作却不同,不需要学习,也不需要记忆,面向百度开发

上午练习:快速的熟悉php的语法 1、99乘法表 - php的循环和变量的拼接 2、计算标准体重 和 根据分数送礼物 - php的分支,php没有弹出框,服务器端的语言,本身是不支持浏览器操作的,是我们大发善心,借给他浏览器,让他在浏览器上可以显示输出内容 3、找出1-100之间所有的质数 - 逻辑提升

3、全栈开发:前端=>PHP<=>数据库 1、前端->后端 前端需要发起请求 1、表单请求/提交 注意: 1、input必须添加name属性,甚至有的input(radio、checkbox、select&option)可能还要添加value 2、form表单必须添加action="服务器端文件的路径"; 3、method到底是用get还是post,和后端进行沟通/看开发文档 get->得到,只要跟安全性不挂钩的时候,大小有限制2kb:搜索框(把东西拿出来) post->发送,只要跟安全性挂钩的时候,优先使用,举例:登录/注册(把东西放进去)

			下周一新的请求方法:ajax:发送请求+可以把后端的东西拿回来

		2、后端 需要接收住 前端传来的 请求消息
			语法:$变量=$_GET/POST/REQUEST["input的name的值"]

			REQUEST - 请求:不管前端是GET还是POST,都能接住

2、后端<->数据库:php自带操作mysql的API,只需要学习4.5句话完毕
	1、创建和数据库的连接对象
		$conn=mysqli_connect("hostname","username","userpwd","dbname");

		我们班的固定:
			$conn=mysqli_connect("127.0.0.1","root","","h52202");

	1.5、为此数据库设置中文编码
		mysqli_query($conn,"SET NAMES utf8");

	2、创建SQL语句:你要干什么
		$sql="INSERT/UPDATE/DELETE/SELECT";

	3、数据库要执行SQL语句
		$result=mysqli_query($conn,$sql);
		//增删改:true->执行成功  false->执行失败
		//查:返回的是一个我们都不会认识的结果集对象
			解决:php提供了一套方法
				while(($row=mysqli_fetch_row|assoc|array($result))!=null){
					var_dump($row);//拿到了数据要干什么?
					echo "<br>";
				}

	4、断开和数据库的连接
		mysqli_close($conn);

周末作业: 1、注册、登录、修改密码、注销账号 - 全栈开发 2、博客 3、咖啡