赞
踩
以下是我在看php视频教程时所做的一些简单的笔记
一 :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’;显示出所有对象名的显示类型
然后再重新设置。
再次查询。
三:编写php程序,完成对用户表的显示。
步骤:(mysql数据去)
1.获取连接。
2.选择数据库。
3.设置操作编码。
4.向数据库发送指令。Sql(ddl数据定义语句,dml数据操作语言,dql数据查询语言,dtl数据事物语句)
5..接受返回的结果,并处理。
释放资源,关闭连接。
CREATE DATABASE test;创建一个数据库;
Showdatabases显示所有的数据库
Usetest;指定使用哪一个数据库。
Showtables;显示指定的数据库的表。
创建一张用户表
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');
查看表中的数据select*fromuser1;
使用该语句对变量类型进行查询
var_dump($res);
网页会输出以下结果。
一个最简单的php程序完成对数据库的操作。
- <span style="font-size:14px;"><?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"<br/>$row[0]--$row[1]--$row[2]";
- // echo"<br/>";
- // var_dump($row);
- //第二种取法
- foreach($rowas$key=>$var){
- echo"--$var";
- }
- echo"<br/>";
- }
- //使用完结果后,一定要及时释放资源
- mysql_free_result($res);
- //这句话如果没有的话,系统也会自动关闭。
- mysql_close($conn);
- ?></span>
结果截图。
如果执行的是dql语句,返回的查询结果
如果执行的是dml语句,返回的是bool
从mysqlresult取出查询的结果有如下方式
Mysql_fetch_row//返回一个索引数据
Mysql_fetch_assoc//返回一个关联数组
区别在于把字段的名字写进去了
Mysql_fetch_array//返回索引数组和关联数组
Mysql_fetch_object//把一航数据,当作一个对象返回
四:对表user进行增,删,改操作。(dml操作)
- <?php
- $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之类。
- <?php
- 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"没有受影响的行数";
- }
- }
- }
- }
- ?>
- <?php
- /*$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"<br/>";
- }
- mysql_free_result($res);
- ?>
错误的原因时静态方法不能操作动态变量。
五:接受一个表名,然后把表以表格形式显示在网页中。
- <?php
- 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"<tableborder=1><tr>";
-
- for($i=0;$i<$colums;$i++){
- $field_name=mysql_field_name($res,$i);
- echo"<th>$field_name</th>";
- }
- echo"</tr>";
-
- while($row=mysql_fetch_row($res)){
- echo"<tr>";
- for($i=0;$i<$colums;$i++){
- echo"<td>$row[$i]</td>";
- }
- }
-
- echo"</table>";
- // while($field_info=mysql_fetch_field($res)){
- // echo"<br/>".$field_info->name;
- // }
-
- // var_dump($filed_info);
- }
- show_tab_info("user");
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。