慕课网——PHP进阶篇(数据库操作)

来源:互联网 发布:淘宝内部卷 编辑:程序博客网 时间:2024/06/06 19:09

    PHP可实现当下主流数据库:MsSQL,MySQL,Sybase,Db2等。

<?phpif (function_exists('mysql_connect')) {    echo 'Mysql扩展已经安装';}


    PHP中有多个扩展,常用的扩展又原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接和操作。

    mysql扩展进行数据库连接的方法:$link = mysql_content('mysql_host','mysql_user','mysql_password');

    mysqli扩展:$link = mysql_connect('mysql_host','mysql_user','mysql_password');

    PDO扩展

$dsn = 'mysql:dbname=testdb;host=127.0.0.1';$user='dbuser';$password = 'dbpass';$dbh = new PDO($dsn,$user,$password);  
//数据库扩展,以及mysql扩展库的概念<?php$link = mysql_connect('127.0.0.1', 'code1', '') or die('数据库连接失败');mysql_select_db('code1');mysql_query("set names 'utf8'");$result = mysql_query('select * from user limit 1');$row = mysql_fetch_assoc($result);print_r($row);   //输出“运行成功”
    与数据库建立连接:通常使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。

$host = 'localhost';$user = 'code1';$pass = '';$link = mysql_connect($host,$user,$pass);

    PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。mysql_select_db('code1');通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。mysql_query("set names 'utf8'");

//使用mysql_connect进行数据库连接<?php$host = '127.0.0.1';$user = 'code1';$pass = '';//在这里编写数据库连接代码$link = mysql_connect($host,$user,$pass);mysql_select_db('code1');mysql_query("set names 'utf8'");   //输出显示“运行成功”
    执行MySQL查询:采用mysql_query加sql语句的形式向数据库发送查询指令。

$res = mysql_query('select * from user limit 1');

    对于查询类的语句会返回一个资源句柄(resource),可以通过该资源获取查询结果集中的数据。

$row = mysql_fetch_array($res);var_dump($row);
        默认的,PHP使用最近的数据库连接执行查询,但如果存在多个连接的情况,则可以通过参数指令从那个连接中进行查询。

$link1 = mysql_connect('127.0.0.1', 'code1', '');$link2 = mysql_connect('127.0.0.1', 'code1', '', true); //开启一个新的连接$res = mysql_query('select * from user limit 1', $link1); //从第一个连接中查询数据
//使用mysql_query在user表查询一行数据并输出<?php//连接数据库mysql_connect('127.0.0.1', 'code1', '');mysql_select_db('code1');mysql_query("set names 'utf8'");//在这里进行数据查询$res = mysql_query('select *from user');$row = mysql_fetch_array($res);var_dump($row);   //输出结果为“bool(false)
    插入数据(其语法结构如下):

$sql = "insert into user(name, age, class) values('李四', 18, '高三一班')";mysql_query($sql); //执行插入语句
    通常数据都是存储在变量或者数组中,因此sql语句需要先进行字符串拼接得到。

$name = '李四';$age = 18;$class = '高三一班';$sql = "insert into user(name, age, class) values('$name', '$age', '$class')";mysql_query($sql); //执行插入语句
    在mysql中,执行插入语句之后,可以得到自增的主键id,通过PHP的mysql_insert_id函数可以获取该id。$uid = mysql_insert_id();

    这个id的作用很大,通常可以用来判断是否插入成功,或者作为关联ID进行其他的数据操作。

//已知user表的必填字段有name,age,class,编写插入语句实现新增一行数据,插入成功后输出自增ID<?php//连接数据库mysql_connect('127.0.0.1', 'code1', '');mysql_select_db('code1');mysql_query("set names 'utf8'");//已知的数据变量有$name = '李四';$age = 18;$class = '高三一班';//在这里进行数据查询$sql = "insert into user(name,age,class)value('$name,'$age','$class')";mysql_query($sql);$uid = mysql_insert_id();echo $uid;   //输出结果为0