以下总结为学习感受。知识点的总结以开发项目TODOlist为例。
php是什么。Php是一种脚本语言(那什么是脚本语言呢?),一种用来开发动态网站的语言。何为动态网站,即用户与页面(或者说后台数据库)进行交互,在交互过程中,页面中有些内容可以发生改变。Php与其他技术相结合,可以开发出更加完美的动态网站,如数据库mysql等。就像java web,也是一种与其他技术相结合开发动态网站的语言。
标志与位置
1) 标志<?php ?>
2) 位置
(1)嵌入到html语言中,且可以在任何位置
(2)独立以一个文件形式出现
3.数据类型
1)常量:用define()函数
Define(’name’,value)
如在链接数据库的时候,我是这样写的
3删除会话变量
<?php session_start(); if(empty($_SESSION['username'])){ header("http://127.0.0.1/sunyan2015/013/login.php"); }else{ $_SESSION=array();把$_SESSION变量重置为一个新数组,从而清除现有值 session_destroy();从服务器中删除数据 setcookie('phpsessid','',time()-3600); } echo'你已经注销成功'; ?>7.使用mysql 数据库
1)链接数据库
$dbc=@mysqli_connect('127.0.0.1', 'root','123456','todolist')
or die(‘could not connect to mysql’);
四个参数分别为主机名,用户名,密码,数据库名称。@是错误控制符,可以防止在浏览器中显示php错误,代替显示的是 or die()中的内容。如果成功连接到数据库,mysqli_connect()函数将返回对应于打开链接的资源链接。
mysqli_query():执行select ,insert,update,delete四种查询语句的函数,通常把查询结果赋给另外一个变量
result=mysqli_query($dbc,查询语句)如
q
=
"
s
e
l
e
c
t
u
s
e
r
i
d
f
r
o
m
u
s
e
r
m
e
s
s
a
g
e
w
h
e
r
e
n
a
m
e
=
′
q="select user_id from usermessage where name='
q="selectuseridfromusermessagewherename=′username’ “;
r
=
m
y
s
q
l
i
q
u
e
r
y
(
r=mysqli_query(
r=mysqliquery(dbc,$q);
KaTeX parse error: Can't use function '\"' in math mode at position 49: …assword)values(\̲"̲username”,"$password")";
r
=
m
y
s
q
l
i
q
u
e
r
y
(
r=mysqli_query(
r=mysqliquery(dbc,$q);
q
=
"
u
p
d
a
t
e
u
s
e
r
m
e
s
s
a
g
e
s
e
t
p
a
s
s
w
o
r
d
=
′
q="update usermessage set password='
q="updateusermessagesetpassword=′newpassword’ where user_id={$_SESSION[‘user_id’]}";
r
=
m
y
s
q
l
i
q
u
e
r
y
(
r=mysqli_query(
r=mysqliquery(dbc,$q);
查询结果
(1) 对于insert,update,delete,这样的操作相对简单,返回结果不是具体的数据库内容。若操作成功,则返回true,否则返回false
Mysqli_affected_rows(),可以返回受insert,update,delete操作影响的行数,
n
u
m
=
M
y
s
q
l
i
a
f
f
e
c
t
e
d
r
o
w
s
(
num= Mysqli_affected_rows(
num=Mysqliaffectedrows(dbc)
(2)对于select,若操作成功,则返回一个指向查询结果的资源链接,若操作失败,则返回false。
Mysqli_num_rows,(),返回受select操作影响的行数。
n
u
m
=
M
y
s
q
l
i
n
u
m
r
o
w
s
(
num= Mysqli_num_rows(
num=Mysqlinumrows(r)
Mysqli_fetch_array(),将结果以数组形式呈现,一次返回一行结果。
r
=
m
y
s
q
l
i
f
e
t
c
h
a
r
r
a
y
(
r=mysqli_fetch_array(
r=mysqlifetcharray(r,数组类型)
数组类型及返回结果的数组类型,有MYSQLI_ASSOC,MYSQLI_NUM,MYSQLI_BOTH,
我用到了第一种,如
while(
r
o
w
=
m
y
s
q
l
i
f
e
t
c
h
a
r
r
a
y
(
row=mysqli_fetch_array(
row=mysqlifetcharray(r,MYSQLI_ASSOC)){
u
s
e
r
i
d
=
user_id=
userid=row[‘user_id’];
8.正则表达式
通过我的初步学习,正则表达式内容是比较枯燥的,而且知识点也都比较小。
正则表达式是一种规则,用来验证一些信息是否符合设计者想要的形式。以下内容摘自以往总结。
http://www.jianshu.com/p/48822af43b35
9.预防sql注入攻击。
所谓sql注入攻击,是指将一些不怀好意的代码插入到站点的SQL查询中,旨在报错的信息当中获取关于脚本或者数据库的某些信息。使用预处理语句即可预防。
以下内容摘自以往总结。
http://www.jianshu.com/p/621a35615d22
10.pdo数据库抽象层
http://www.jianshu.com/p/d4c511ad7c86
11.smarty模板引擎
http://www.jianshu.com/p/49ca58a27dcc
http://www.jianshu.com/p/664cb2957f51
http://www.jianshu.com/p/454435a608e8
http://www.jianshu.com/p/57542a8729fb
12.Thinkphp框架
http://www.jianshu.com/p/bd46ff75f709