操作mysql得学习php吗,PHP操作MySQL -- PHP 学习(十八)

PHP 操作MySQL 的三种方式

MySQL: 非永久连接, 性能比较低, PHP 5.5 以后被废弃

MySQLi: 永久连接, 减轻服务器压力, 只支持 MySQL

PDO: 能实现 MySQL 的常用功能, 支持大部分数据库

MySQL 方式连接数据库

连接数据库

mysql_connect($server, $username, $password)

选择数据库

mysql_select_db($database_name)

设置字符集

mysql_set_charset($charset)

关闭数据库

mysql_close($link)

header('content-type: text/html;charset=utf-8');

// 连接数据库

$link = mysql_connect('localhost', 'root', 'root') or die('连接数据库失败!');

// 选择数据库

mysql_select_db('test') or die('选择的数据库不存在!');

// 设置字符集

mysql_set_charset('utf8');

// 关闭数据库

mysql_close($link);

MySQL方式执行 SQL 语句

d694ec91718a

新建数据表users

mysql_query($query)

mysql_query() 对 INSERT, UPDATE, DELETE, DROP 之类的操作, 执行成功时返回 true, 出错时返回 false

(a) 添加数据:

header('content-type: text/html;charset=utf-8');

// 连接数据库

$link = mysql_connect('localhost', 'root', 'root') or die('连接数据库失败!');

// 选择数据库

mysql_select_db('test') or die('选择的数据库不存在!');

// 设置字符集

mysql_set_charset('utf8');

// 添加数据

$insert = mysql_query("INSERT INTO users VALUES(1, 'guoyou.li', 24)");

if ($insert) {

echo '添加成功!';

} else {

echo '添加失败!';

}

// 关闭数据库

mysql_close($link);

(b) 修改数据:

// 修改数据

$update = mysql_query("UPDATE users SET age=23 WHERE id=1") or die('修改失败!');

echo '修改成功!';

(c) 删除数据:

// 删除数据

$delete = mysql_query("DELETE FROM users WHERE id=1") or die('删除失败');

echo '删除成功!';

(d) 删除数据表:

// 删除数据表

$delete = mysql_query("DROP TABLE users") or die('删除失败');

echo '删除成功!';

SELECT 操作, 执行成功会返回一个 resource, 如果查询出现错误则返回 false,

返回的结果资源应该传递给 mysql_fetch_array($result, $result_type)和其他函数来处理结果, 取出返回的数据,

$result_type 参数: MYSQL_ASSOC, MYSQL_NUM, MYSQL_BOTH

其他函数:

mysql_fetch_row(): 从结果集中取得一行作为枚举数组,

mysql_fetch_assoc() 从结果集中取得一行作为关联数组

header('content-type: text/html;charset=utf-8');

// 连接数据库

$link = mysql_connect('localhost', 'root', 'root') or die('连接数据库失败!');

// 选择数据库

mysql_select_db('test') or die('选择的数据库不存在!');

// 设置字符集

mysql_set_charset('utf8');

// 查询所有数据

$result = mysql_query("SELECT * FROM users");

var_dump(mysql_fetch_row($result));

/*

* 结果为 索引数组 不常用

array(3) {

[0]=> string(1) "1"

[1]=> string(6) "guoyou"

[2]=> string(8) "12345678"

}

*/

var_dump(mysql_fetch_assoc($result));

/*

* 结果为关联数组

array(3) {

["id"]=> string(1) "1"

["username"]=> string(6) "guoyou"

["password"]=> string(8) "12345678"

}

*/

var_dump(mysql_fetch_array($result));

/*

* 当第二个参数为空时: 结果为 索引+关联数组

array(6) {

[0]=>

string(1) "1"

["id"]=>

string(1) "1"

[1]=>

string(6) "guoyou"

["username"]=>

string(6) "guoyou"

[2]=>

string(8) "12345678"

["password"]=>

string(8) "12345678"

}

*/

var_dump(mysql_fetch_array($result, MYSQL_NUM));

/*

* 参数 MYSQL_NUM 结果为: 索引数组

array(3) {

[0]=>

string(1) "1"

[1]=>

string(6) "guoyou"

[2]=>

string(8) "12345678"

}

*/

var_dump(mysql_fetch_array($result, MYSQL_ASSOC));

/*

* 参数 MYSQL_ASSOC 结果为:关联数组

array(3) {

["id"]=>

string(1) "1"

["username"]=>

string(6) "guoyou"

["password"]=>

string(8) "12345678"

}

*/

var_dump(mysql_fetch_array($result, MYSQL_BOTH));

/*

* 参数为 MYSQL_BOTH: 结果我索引+关联数组

array(6) {

[0]=>

string(1) "1"

["id"]=>

string(1) "1"

[1]=>

string(6) "guoyou"

["username"]=>

string(6) "guoyou"

[2]=>

string(8) "12345678"

["password"]=>

string(8) "12345678"

}

*/

// 关闭数据库

mysql_close($link);

MySQLi 面向过程方式操作数据库

面向过程方式连接数据库

$connect = mysqli_connect('host', 'username', 'password', 'database');

执行 SQL 语句

$result = mysqli_query($connect, $sql);

获取结果集

mysqli_fetch_all($result, $result_type);

同样的, $result_type 也有对应的 MYSQLI_ASSOC, MYSQLI_NUM, or MYSQLI_BOTH

header('content-type: text/html;charset=utf-8');

// 连接数据库

$connect = mysqli_connect('localhost', 'root', 'root', 'test');

// 设置字符集

mysqli_query($connect, 'set names utf8');

// 插入第二条数据

//mysqli_query($connect, "INSERT INTO users VALUES(2,'you','4535635')");

// 查询数据

$sql = "SELECT * FROM users";

$result = mysqli_query($connect, $sql);

var_dump(mysqli_fetch_all($result));

/*

* 不传第二个参数:

array(2) {

[0]=>

array(3) {

[0]=>

string(1) "1"

[1]=>

string(6) "guoyou"

[2]=>

string(8) "12345678"

}

[1]=>

array(3) {

[0]=>

string(1) "2"

[1]=>

string(3) "you"

[2]=>

string(7) "4535635"

}

}

*/

var_dump(mysqli_fetch_all($result,MYSQLI_ASSOC));

/*

* 第二个参数: MYSQLI_ASSOC

array(2) {

[0]=>

array(3) {

["id"]=>

string(1) "1"

["username"]=>

string(6) "guoyou"

["password"]=>

string(8) "12345678"

}

[1]=>

array(3) {

["id"]=>

string(1) "2"

["username"]=>

string(3) "you"

["password"]=>

string(7) "4535635"

}

}

*/

// 关闭数据库

mysqli_close($connect);

*/

// 关闭数据库

mysqli_close($connect);

PDO 后面再学习.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值