mysql php 入门_php+mysql入门笔记

一 :Web开发分为

1.静态web开发(html页面)

2..动态web开发。

发帖,网上支付,发短信,发邮件。

Php是嵌入到html代码中,php脚本运行在服务器端。

二:数据库编程

1.Mysql

2.Mysqli

pdo

1.mysql环境的搭建。

在php。Ini中配置mysql扩展库

Extension=php_mysql.dll.

可以通过phpinfo()函数

在数据库中创建密码时,使用md5进行加密。

中文不能添加的问题。

使用ANSI能添加,使用utf8不能,客户端认gbk码。

使用showvariableslike‘xcharx’;显示出所有对象名的显示类型

7c013c1743a0427d77f1973d1208b310.png

然后再重新设置。

47ab871b77282865202d2257df1e121d.png

再次查询。

9fa968842fab44e0bec09e43a7953393.png

三:编写php程序,完成对用户表的显示。

步骤:(mysql数据去)

1.获取连接。

2.选择数据库。

3.设置操作编码。

4.向数据库发送指令。Sql(ddl数据定义语句,dml数据操作语言,dql数据查询语言,dtl数据事物语句)

5..接受返回的结果,并处理。

释放资源,关闭连接。

CREATE  DATABASE test;创建一个数据库;

b835fe358b11600cdde4e252bb8b3987.png

Showdatabases显示所有的数据库

ec02772ad29ca4598fe562f6db9312e2.png

Usetest;指定使用哪一个数据库。

3877870a5d075779ab99a11fe0f9b65a.png

Showtables;显示指定的数据库的表。

13bbb6718b3b47b5cd22b259fd17e28e.png

创建一张用户表

create table user2(

id int primary key auto_increment,

name varchar(32) not null,

password varchar(64) not null,

email varchar(128) not null,

age tinyint unsigned not null

)

Droptableuser1;删除表

向表中添加数据

insertintouser(name,password,email,age)values('aquarius',md5('123456'),'3649872','18');

58ee761801bad60f7b9cf7d2bacce99a.png

查看表中的数据select*fromuser1;

3c34a99ba2b48c313e48a15082b3c612.png

使用该语句对变量类型进行查询

var_dump($res);

网页会输出以下结果。

fbbc9bc23a2cca4083be7ddd1ff9130b.png

一个最简单的php程序完成对数据库的操作。

<?php

$conn=mysql_connect("127.0.0.1","root","421566");

if(!$conn){

die("连接失败".mysql_error());

}

mysql_select_db("test");

$sql="select*fromuser";

$res=mysql_query($sql,$conn);

//使用该语句对变量类型进行查询

//var_dump($res);

//会依次取出结果集的下一行数据

while($row=mysql_fetch_row($res)){

//第一种取法,同¥row[i]

//echo"
$row[0]--$row[1]--$row[2]";

//echo"
";

//var_dump($row);

//第二种取法

foreach($rowas$key=>$var){

echo"--$var";

}

echo"
";

}

//使用完结果后,一定要及时释放资源

mysql_free_result($res);

//这句话如果没有的话,系统也会自动关闭。

mysql_close($conn);

?>

b53725ee967d8ad687b24f66419b919d.png

结果截图。

如果执行的是dql语句,返回的查询结果

如果执行的是dml语句,返回的是bool

从mysqlresult取出查询的结果有如下方式

Mysql_fetch_row//返回一个索引数据

1441bb7a2056251a949eba89dd16245b.png

Mysql_fetch_assoc//返回一个关联数组

942422b94be96359cb773576c23e8e7b.png

区别在于把字段的名字写进去了

Mysql_fetch_array//返回索引数组和关联数组

54087efb1b3712878603b7be1cc5a883.png

Mysql_fetch_object//把一航数据,当作一个对象返回

eb64a66e181cbe5c0ce8b2adcae2f7dc.png

四:对表user进行增,删,改操作。(dml操作)

$conn=mysql_connect("127.0.0.1","root","421566");

if(!$conn){

die("连接失败".mysql_error());

}

mysql_select_db("test",$conn);

mysql_query("setnamesutf8");

//$sql="insertintouser(name,password,email,age)values('金智超',md5('123'),'aquarius@qq.com',120)";

//$sql="deletefromuserwhereid=1";

$sql="updateusersetage=100whereid=2";

$res=mysql_query($sql,$conn);

if(!$res){

die("操作失败".mysql_error());

}

//查看由几条数据

if(mysql_affected_rows($conn)>0){

echo"操作成功";

}

else{

echo"没有受影响的行数";

}

?>

从上面的文件可以看出,代码的复用性和可维护性不过哦啊,PHP编程中,通常是将对数据库的操作,封装成一个工具类SqlHelper之类。

classSqlTool{

private$conn;

private$host="localhost";

private$user="root";

private$password="421566";

private$db="test";

functionSqlTool(){

$this->conn=mysql_connect($this->host,$this->user,$this->password);

if(!$this->conn){

die("connectfailed".mysql_error);

}

mysql_select_db($this->db,$this->conn);

//下面这条语句使用后会在网页中文显示乱码

//mysql_query("setnamesutf8");

}

publicfunctionexecute_dql($sql){

$res=mysql_query($sql)ordie((mysql_error));

return$res;

}

publicfunctionexecute_dml($sql){

$b=mysql_query($sql,$this->conn);

if(!$b){

return0;

}

else{

if(mysql_affected_rows($this->conn)>0){

return1;//echo"操作成功";

}

else{

return2;//echo"没有受影响的行数";

}

}

}

}

?>

/*$conn=mysql_connect("127.0.0.1","root","421566");

if(!$conn){

die("连接失败".mysql_error());

}

mysql_select_db("test",$conn);

mysql_query("setnamesutf8");

//$sql="insertintouser(name,password,email,age)values('金智超',md5('123'),'aquarius@qq.com',120)";

//$sql="deletefromuserwhereid=1";

$sql="updateusersetage=100whereid=2";

$res=mysql_query($sql,$conn);

if(!$res){

die("操作失败".mysql_error());

}

//查看由几条数据

if(mysql_affected_rows($conn)>0){

echo"操作成功";

}

else{

echo"没有受影响的行数";

}*/

require_once"SqlTool.class.php";

//$sql="insertintouser(name,password,email,age)values('chengwen',md5('123'),'aquarius@qq.com',120)";

$sql="select*fromuser";

//创建一个对象

$sqlTool=newSqlTool();

//$sqlTool->execute_dml($sql);

$res=$sqlTool->execute_dql($sql);

while($row=mysql_fetch_object($res)){

foreach($rowas$key=>$var){

echo"--$var";

}

echo"
";

}

mysql_free_result($res);

?>

错误的原因时静态方法不能操作动态变量。

五:接受一个表名,然后把表以表格形式显示在网页中。

functionshow_tab_info($table_name){

$conn=mysql_connect("localhost","root","421566");

mysql_select_db("test",$conn);

$sql="select*from$table_name";

$res=mysql_query($sql,$conn);

//要知道共有多少行和多少列

$rows=mysql_affected_rows($conn);

$colums=mysql_num_fields($res);

echo"$rows=$colums";

echo"";

for($i=0;$i

$field_name=mysql_field_name($res,$i);

echo"

$field_name";

}

echo"

";

while($row=mysql_fetch_row($res)){

echo"

";

for($i=0;$i

echo"

$row[$i]";

}

}

echo"";

//while($field_info=mysql_fetch_field($res)){

//echo"
".$field_info->name;

//}

//var_dump($filed_info);

}

show_tab_info("user");

381eec91dc6aed3d660a219806b3dcbc.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值