上个笔记写到了数据库的配置具体请看《 我的php学习第十九天——PHP工作原理及mysql的配置 》
1.现在来记录下数据库的操作。
登录MySQL 客户端 :mysql -hlocalhost -uroot -proot
显示数据库:show databases;
创建数据库 :create database if not exists db_name charset utf8; //默认的字符集是latin1
上图表示:创建数据库成功,有一个行被影响。
删除数据库 :drop database if exists db_name;
注意:不管是My SQL ,还是PHP,应该尽量少的把错误信息暴露给浏览者。
选择数据库 :use db_name;
操作数据库中数据的一个流程
第一步:连接到MySQL数据库服务器
第二步:选择一个数据库作为当前操作的数据库,在虚拟主机中,对别人的数据库无权限
第三步:修改返回数据的字符集:set names utf8
第四步:对某个表进行操作:增、删、改、查
创建数据表 :create table table_name(col_name type attribute)
create table students(
id int(5) not null auto_increment primary key,
name varchar(10) not null,
sex tinyint(1) not null default 1, # 1代表男,0代表女
age tinyint(2) not null default 0,
edu char(9) not null, # GBK字符集中,一个汉字两个字节;UTF8字符集中,一个汉字三个字节;
addate datetime
);
列的类型:
tinyint 0-255 或 -128——127 小型整数
int 一般整数
float(m,n) 浮点数
varchar(m) 单行文本
Text 多行文本
Date 日期型
Time 日期型
Datetime 日期时间型
SQL 语句:增、删、改、查
(1)INSERT INTO增加记录
insert into table_name(title,content,addate) values(‘Beijing’,’content’,now());
(2)DELETE FROM删除记录
delete from table_name where id>10 and id<100;
(3)UPDATE SET修改一条记录
update table_name set title=“新的title”,author=“user” where id=10
(4)SELECT查询记录
SELECT * FROM table_name where id>10;
SELECT title,author,source FROM table_name WHERE title like(‘%苹果%’); //模糊查询
SELECT * FROM table_name where id>10 ORDER BY hits DESC; //对点击率降序排列
SELECT * FROM table_name where id>10 ORDER BY hits DESC LIMIT 10,10;//返回第10行开始的10条记录
2.PHP简介
PHP,Hypertext preprocessor,超文本预处理器。
PHP是服务器端的脚本语言,只能在服务器来运行;
客户端看不到什么的PHP代码和注释,JS在“源代码”中可以看见;
PHP的语法,结合了C、Java、Perl、JS等语言的特点;
PHP主要应用于网站方面,这种结构B/S结构;
PHP的入门相当于简单(Java)。
3.PHP语言基础
PHP代码和ASP、JSP一样,都是直接嵌入到 HTML 网页中去;
PHP的标记:<?php …… ?>
PHP的每行程序必须以英文下的分号(;)结束;JS的语句的分号可有可无;
PHP语言是区分大小写的,但关键字和函数名不区分大小写;比如:true 、TRUE
上述代码的说明( 与JS 的不同之处) :
echo函数,严格来说是一个语法结构,输出字符集到网页中;echo和后面要输出的内容间至少有一个空格;
$name是PHP中的变量,每个变量必须以“$”符号开头;
“$name 的年龄是 $age”在PHP中,可以在双引号内,直接书写变量名称;JS中不可以;
4.PHP文件的访问
因为PHP文件是服务器端脚本程序,因此访问PHP文件,必须要经过 服务器的处理 ,才能看到结果。PHP的访问与HTML的访问完全不一样,PHP文件的访问,是必须要经过服务器来处理,也就是必须要进行虚拟主机的配置,才可以执行PHP文件。最在客户端,看到的只是PHP的执行结果HTML代码,PHP源代码是看不见的,是为了保证网站的安全。
举例:
说明:www.cwhello.com指向的是一个虚拟空间(目录),该目录要有一定的访问权限。
5.PHP注释
单行注释://或#
多行注释:/*注释内容*/
注意:PHP 的注释在发往客户端之前,已经被过滤掉了。
6.PHP变量
变量是存储数据的临时空间。如: $name = “ 张三”;
变量的命名规则:
-
变量中可以包含:大小写字母、数字、下划线。
-
PHP中变量必须以美元符号$开头;
-
PHP中变量的不需要提前声明,使用时直接赋值即可;
-
PHP的变量不能以数字开头;如:$12abc = 100 //不合法的变量名
-
PHP中的变量名可以是关键字(JS的关键字不能作为变量名);如: $true = 100;
7.PHP变量数据类型
PHP和JS中,变量的类型,主要取决于赋的什么值。
JS 中的数据类型:
-
基本数据类型:string、 boolean 、number、null、undefined
-
复合数据类型:array、object、function
PHP 中的数据类型:
-
基本数据类型(4):int(整型)、float(浮点型)、boolean(布尔型)、string(字符型)
-
复合数据类型(2):array(数组)、object(对象)
-
特殊数据类型(2):resource(资源)、 NULL(空)
资源类型:可以这样理解,访问外部文件时,返回的结果。
比如:PHP连接数据库、PHP创建图片文件。
NULL型:只有一个值NULL,代表变量没有赋值。以下情况代表NULL
$A = NULL; //给一个变量赋一个NULL值
unset($a); //删除一个变量
布尔型:只有两个值true和false。
整型:就是指整数,10 、 100 、 -100 、-23
浮点型:就是指小数,90 、23.90 、-90 、89
字符型
字符串 的表达方式有三种方法:
(1)用 单引号 引起来的,在单引号内只能使用 ’、
举例:$name = ‘Beijing’;
(2)用双引号引起来的,在双引号内可以使用所有的转义字符。
举例:$name = “Beijing”;
(3)heredoc方式:可以保存长文本
heredoc 的语法格式
$str = <<<heredoc
//中间可以书写很多内容
heredoc;
使用注意事项
1)heredoc是自己定义的名字,可以随便指定;比如:eot、heredoc
2)<<<heredoc是长文本的开始标记
3)heredoc; 是长文本的结束标记,heredoc;必须单独一行,并且不能缩进。
4)在这种格式下,所有的符号都可以使用;
5)如果要引用变量时,请将变量放在{}中。如:{$name}
$name = “张三”;
$str = <<<heredoc
<h1>heredoc的应用——”{$name}”</h1>
<p>这里是一个段落</p>
<ul>
<li><a href=”#”> 今日头条 </a></li>
</ul>
heredoc;
echo $str;
字符串中的注意事项
-
在双引号中的变量,输出时,只接输出的是值;
-
在单引号中的变量,输出时,输出的是变量的名称;
-
如果在一个变量后,跟着 非空的字符 ,则PHP翻译器会糊涂,也就说会当成一个变量来处理。
$str = “重蔚$name自留地”; //会将“$ name自留地”当成一个变量
$str = “重蔚{$name}自留地”; //将翻译器容易糊涂的变量放到{}中
<?php
8.判断变量的数据类型
var_dump()
含义:打印变量的值和类型
格式:var_dump($var1,$var2,$var3,……)
注意:该函数直接就可以输出结果,前面不需要再加echo输出语句。
提示:如果使用UTF8来输出汉字,则一个汉字用3个字节表示;如果使用GBK或GB2312,则一个汉字用2个字节表示。
通过 IS_* 函数作判断:结果只有 true 和 false
is_bool() 判断是不是布尔型
is_string() 判断变量是不是字符串型
is_numeric() 判断变量是不是数值型
is_array() 判断变量是不是数组
is_object() 判断变量是不是对象
$a = 1200;
if(is_int($a))
{
echo “{$a}是整型”;
}else
{
echo “{$a}不是整型”;
}
isset()
含义:判断给定的变量是否设置
格式:bool isset($var)
返回值:如果存在,则返回true,否则,返回false
注意:一般用于变量的测试,如果用于常量的测试,将返回解析错误。
提示:除了NULL值外,一律都为true
// 判断给字的变量是否设置
$a = 0;
$a = 100;
$a = “”;
$a = “0”;
$a = false; //返回true
$a = NULL; //返回false
$a = 0.0; //返回true
$a = “abc”; //返回true
if(isset($a))
{
echo “OK”;
}else
{
echo “NO”;
}
empty()
含义:测试变量,如果变量的值为空,则返回true,不空返回false。
格式:bool empty($var)
注意:除了””、”0”、0、false、NULL、0.0这个值外,都返回false。
//判断给定的变量是否为空
$a = 0;
$a = 100;
//$a = “”;
//$a = “0”;
//$a = false; //返回true
//$a = NULL; //返回true
//$a = 0.0; //返回true
//$a = “abc”; //返回false
if(empty($a))
{
echo “为空”;
}else
{
echo “不空”;
}