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

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

<?php
if (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

猜你喜欢

转载自blog.csdn.net/ansheng02/article/details/78633189