1.建立数据库连接
mysql_connect
<?php
if($con = mysql_connect('localhost', 'root', '123'))
{
echo '连接成功';
}
else
{
echo '连接失败';
}
?>
2.PHP支持哪些数据库
MsSQL MySQL Sybase Db2 Oracle PostgreSQL Access
LAMP架构:Linux、Apache、Mysql、PHP
3.数据库扩展
PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。
不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同
mysql扩展进行数据库连接的方法:
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli扩展:
$link = mysqli_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);
4.连接MySQL数据库
PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。
$host = 'localhost';
$user = 'code1';
$pass = '';
$link = mysql_connect($host, $user, $pass);//连接成功后返回连接标志符,连接失败返回FALSE
PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。
mysql_select_db('code1', '连接标识符');
通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。
mysql_query("set names 'utf8'");//!!!!!!!!!!!!重要
通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。
5.关闭MySQL数据库
mysql_close($link);//$link是mysql_connect的链接标识符,不一定需要用到
6.选择数据库
mysql_select_db('数据库名', '连接标识符');//选择成功返回TRUE,失败返回FALSE
7.执行sql语句
mysql_query();
插入insert into test(name) values("gaomin")//操作成功返回TURE,操作时才返回FALSE
mysql_query(insert into test(name) values("gaomin"));
echo mysql_error();//返回上一个sql操作的错误信息
8.执行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); //从第一个连接中查询数据
9插入新数据到MySQL中
当我们了解了如何使用mysql_query进行数据查询以后,那么类似的,插入数据其实也是通过执行一个sql语句来实现,例如:
$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进行其他的数据操作。
10 4fetch函数:获取和显示数据,每次取出一个行,执行几次取几次,到最后返回NULL
mysql_fetch_row()//数字数组
mysql_fetch_array()//关联或者数字数组
mysql_fetch_assoc()//关联数组
mysql_fetch_object()//把取出的数据当成对象
//取一条数据产生一个索引数组
$query = mysql_query('select * from test');//执行成功返回资源标识符
print_r(mysql_fetch_row($query));//返回除了查询到的资源的第一条数据
while($row = mysql_fetch_row($query))
{
print_r($row);
echo $row[0].$row[1].'个 ';
}
//默认状态小取一条数据产生一个索引数组和关联数组
$query = mysql_query('select * from test');//执行成功返回资源标识符
print_r(mysql_fetch_array($query. *));//返回除了查询到的资源的第一条数据
*的地方可以选择
MYSQL_ASSOC 关联数组,可以通过字段来索引数据
MYSQL_NUM 数字数组
MYSQL_BOTH 默认
$query = mysql_query('select * from test');//执行成功返回资源标识符
$arr = mysql_fetch_object($query);
echo $arr->query;
11mysql_num_rows获取结果集中行的数目
$query = mysql_query('select * from test');//执行成功返回资源标识符
$num = mysql_num_rows($query);
if ($query && $num)
{
//继续数据输出
}
else
{
echo '没有查询到数据'
}
12mysql_result返回结果集中一个字段的值
第一个参数:结果集的地址
第二个参数:行号
第三个参数:字段的偏移量或者字段的名称
$query = mysql_query('select * from test');//执行成功返回资源标识符
echo mysql_result($query, 2, 'name');
13mysql_affected_rows(数据库链接)//受影响的记录行数(只能够获取到前一次操作所影响的行数),当修改的数据和原来一致的时候,受影响的记录函数是零
update table set *=x where *=x;
mysql_connect
<?php
if($con = mysql_connect('localhost', 'root', '123'))
{
echo '连接成功';
}
else
{
echo '连接失败';
}
?>
2.PHP支持哪些数据库
MsSQL MySQL Sybase Db2 Oracle PostgreSQL Access
LAMP架构:Linux、Apache、Mysql、PHP
3.数据库扩展
PHP中一个数据库可能有一个或者多个扩展,其中既有官方的,也有第三方提供的。像Mysql常用的扩展有原生的mysql库,也可以使用增强版的mysqli扩展,还可以使用PDO进行连接与操作。
不同的扩展提供基本相近的操作方法,不同的是可能具备一些新特性,以及操作性能可能会有所不同
mysql扩展进行数据库连接的方法:
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password');
mysqli扩展:
$link = mysqli_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);
4.连接MySQL数据库
PHP要对数据库进行操作,首先要做的是与数据库建立连接,通常我们使用mysql_connect函数进行数据库连接,该函数需要指定数据库的地址,用户名及密码。
$host = 'localhost';
$user = 'code1';
$pass = '';
$link = mysql_connect($host, $user, $pass);//连接成功后返回连接标志符,连接失败返回FALSE
PHP连接数据库的方式类似于直接在命令行下通过进行连接,类似:mysql -hlocalhost -ucode1 -p,当连接成功以后,我们需要选择一个操作的数据库,通过mysql_select_db函数来选择数据库。
mysql_select_db('code1', '连接标识符');
通常我们会先设置一下当前连接使用的字符编码,一般的我们会使用utf8编码。
mysql_query("set names 'utf8'");//!!!!!!!!!!!!重要
通过上面的步骤,我们就与数据库建立了连接,可以进行数据操作了。
5.关闭MySQL数据库
mysql_close($link);//$link是mysql_connect的链接标识符,不一定需要用到
6.选择数据库
mysql_select_db('数据库名', '连接标识符');//选择成功返回TRUE,失败返回FALSE
7.执行sql语句
mysql_query();
插入insert into test(name) values("gaomin")//操作成功返回TURE,操作时才返回FALSE
mysql_query(insert into test(name) values("gaomin"));
echo mysql_error();//返回上一个sql操作的错误信息
8.执行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); //从第一个连接中查询数据
9插入新数据到MySQL中
当我们了解了如何使用mysql_query进行数据查询以后,那么类似的,插入数据其实也是通过执行一个sql语句来实现,例如:
$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进行其他的数据操作。
10 4fetch函数:获取和显示数据,每次取出一个行,执行几次取几次,到最后返回NULL
mysql_fetch_row()//数字数组
mysql_fetch_array()//关联或者数字数组
mysql_fetch_assoc()//关联数组
mysql_fetch_object()//把取出的数据当成对象
//取一条数据产生一个索引数组
$query = mysql_query('select * from test');//执行成功返回资源标识符
print_r(mysql_fetch_row($query));//返回除了查询到的资源的第一条数据
while($row = mysql_fetch_row($query))
{
print_r($row);
echo $row[0].$row[1].'个 ';
}
//默认状态小取一条数据产生一个索引数组和关联数组
$query = mysql_query('select * from test');//执行成功返回资源标识符
print_r(mysql_fetch_array($query. *));//返回除了查询到的资源的第一条数据
*的地方可以选择
MYSQL_ASSOC 关联数组,可以通过字段来索引数据
MYSQL_NUM 数字数组
MYSQL_BOTH 默认
$query = mysql_query('select * from test');//执行成功返回资源标识符
$arr = mysql_fetch_object($query);
echo $arr->query;
11mysql_num_rows获取结果集中行的数目
$query = mysql_query('select * from test');//执行成功返回资源标识符
$num = mysql_num_rows($query);
if ($query && $num)
{
//继续数据输出
}
else
{
echo '没有查询到数据'
}
12mysql_result返回结果集中一个字段的值
第一个参数:结果集的地址
第二个参数:行号
第三个参数:字段的偏移量或者字段的名称
$query = mysql_query('select * from test');//执行成功返回资源标识符
echo mysql_result($query, 2, 'name');
13mysql_affected_rows(数据库链接)//受影响的记录行数(只能够获取到前一次操作所影响的行数),当修改的数据和原来一致的时候,受影响的记录函数是零
update table set *=x where *=x;