zoukankan      html  css  js  c++  java
  • 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’;显示出所有对象名的显示类型

    然后再重新设置。

    再次查询。

    三:编写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");


  • 相关阅读:
    ccf 201604-3 路径解析
    ccf 201609-3 炉石传说
    ccf 201612-3 权限查询
    ccf 201709-3 JSON查询
    ccf 201703-3 Markdown
    POJ 3259 -- Wormholes
    Bellman-Ford 单源最短路径算法
    【oracle】oracle启动和关闭步骤
    【Excel】Excel根据单元格背景色求和
    【Oracle】Oracle时间日期格式
  • 原文地址:https://www.cnblogs.com/xiongxionglove/p/7225937.html
Copyright © 2011-2022 走看看