首页 > 数据库频道-数据库维护 > MYSQL数据库 > 正文
PHP之七_PHP编程访问MySQL数据库
2016-12-10     我来说两句       作者:黑帽网
   我要投稿

 PHP之七_PHP编程访问mysql数据库

 

  在前面的两个小节中,我们分别介绍了PHP的表单数据接收,和mysql数据库的表结构设计。

  在本小节中,将介绍PHP编程访问mysql数据库

  在学习完这个小节后,我们就可以把表单提交过来的用户注册信息保存到mysql数据库中了。

 

  一、PHP中常用的MySQL操作函数

  通常要完成一个数据库的操作,需要按如下步骤来执行:

  × 连接mysql数据库服务器

  × 选择数据库

  × 向mysql数据库发送SQL语句

  × 关闭数据库连接

 

  1. mysql_connect()

  这个函数用于连接mysql数据库服务器。mysql_connect() 函数打开的是非持久的MySQL连接,所谓的非持久,就是数据库连接在脚本执行完成后会自动关闭。

  语法:

    mysql_connect(server, user, pwd);

  参数说明:

    server:服务器,通常格式是:“服务器名或IP:端口号”,例如:“localhost:3306”,也可以直接写“localhost”。

    user:用户,在测试中我们使用root用户,但在实际应用中,应该专门创建一个用户,因为root用户是超级用户,权限过大。

    pwd:密码,在WAMP软件中,root用户的密码为空。在实际应用中,应修改root用户的密码。

  返回值:

    如果连接成功,返回一个数据库连接。如果连接失败,返回false。

 

  2. mysql_select_db()

  这个函数用于选择数据库。

  前一节中,我们说到,每一个应用程序的数据应保存在一个数据库中。

  所以连接上mysql数据库服务器后,应先选择数据库。

  语法:

    mysql_select_db(database, connection);

  参数:

    database:要选择的数据库名。

    connection:mysql数据库连接。

  返回值:

    如果选择成功,返回true。如果连接失败,返回false。

 

  示例:

    $con = mysql_connect('localhost', 'root', '');

    mysql_select_db('testdb', $con);

 

  3. mysql_query()

  这个函数用于执行SQL语句。

  要维护表中的数据,只能通过SQL语句来完成。

 

  ========================================

  SQL语句有增、删、改、查4种。

  这里简单地示范一下。

  假设有一个示例表,名为TBL_BOOK(图书表),有4列:BOOK_ID(主键、自增长)、BOOK_NAME(图书名称、字符型)、BOOK_PRICE(图书价格、浮点型)、BUY_DATE(购买日期、日期型)。

  增:INSERT INTO TBL_BOOK(BOOK_NAME, BOOK_PRICE, BUY_DATE) VALUES('十万个为什么', 50.0, now());

  删:DELETE FROM TBL_BOOK WHERE BOOK_ID=1;

  改:UPDATE TBL_BOOK SET BOOK_NAME='十一万个为什么', BUY_DATE=now() WHERE BOOK_ID=1;

  查:SELECT * FROM TBL_BOOK;

 

  注:新增时,自增长列不需要赋值。now()函数取得系统当前时间。

  ========================================

 

  mysql_query()函数

  语法:

    mysql_query(query, connection);

  参数:

    query:需要执行的SQL语句。

    connection:mysql数据库连接。

  返回值:

    如果SQL语句是“SELECT”语句,查询成功,则返回查询的结果集,SQL语句执行失败,则返回false。

    如果SQL语句是增、删、改语句,执行成功,返回true,执行失败,返回false。

 

  4. mysql_close()

  这个函数用于关闭数据库连接。这个操作不是必需的,因为非持久的数据库连接在脚本执行完成后会自动关闭。

  语法:

    mysql_close(connection);

 

  参数:

    connection:mysql数据库连接。

  返回值:

    执行成功返回true,执行失败返回false。

 

  二、完整代码

 

<?php$name = $_POST["name"];$pass = $_POST["pass"];$pass2 = $_POST["pass2"];$email = $_POST["email"];$sex = $_POST["sex"];$love = $_POST["love"];$love2 = implode(',', $love);$con = mysql_connect('localhost', 'root', '')  or die('连接数据库错误:' . mysql_error());mysql_select_db('testdb', $con)  or die('选择数据库错误:' . mysql_error());$sql="insert into tbl_user(user_name, pass, email, sex, love, reg_date) values('$name', '$pass', '$email', '$sex', '$love2', now())";mysql_query("set names utf8");mysql_query($sql)  or die('SQL语句错误:' . mysql_error());;echo '注册成功!';mysql_close($con);?>

 

  在这段代码中,前半部分是接收表单数据。

  然后首先连接数据库,其次是选择数据库,最后向数据库发送一条INSERT指令。

  有几点说明一下:

  1. 在每个操作数据库的函数后,都加上or die()语句,可以在操作数据库出错时,中止脚本的执行。

  2. 为了防止乱码,在发送SQL指令前,先发送一条:set names utf8,可以保证编码的正确性。

 

  三、测试

  在浏览器中输入:http://localhost/demo2.html

 

  当提示“保存成功!”时,打开phpMyAdmin界面,可以看到tbl_user表中已经多了一条记录:

点击收藏到自己的收藏夹!回本站首页
您对本文章有什么意见或着疑问吗?请到论坛讨论您的关注和建议是我们前行的参考和动力  
上一篇:MySQL数据库数据存放位置修改
下一篇:返回列表
相关文章
图文推荐
排行
热门
oracle
Sysbase
其他
关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训
版权所有: 中国黑帽网--致力于做最好的网络安全技术学习网站 。