PHP入门进阶学习(4)mysql数据库连接及添加/修改/删除数据
作者:biezhiyinan 日期:2007-11-14
要对数据库进行操作i(添加、取出、修改、删除记录)都必须首先做一件事,那就是连接主机,选择数据库,向数据库发出请求。否则一切都是纸上谈兵。下面介绍三个重要的MySQL语句,分别是:mysql_connect( )(连接主机),mysql_select_db( )(选择数据库),mysql_query()(向数据库发出请求)。
1.mysql_connect( )
它的作用是连接主机。
语法为:mysql_connect( “要登陆的主机”,”登陆时的用户名”,”密码”);
如mysql_connect( “localhost”,”root”,””);
其中的“localhost”、“root”都是本地机phpmyadmin默认下的主机名和用户名,并且密码为空。如果你使用空间服务商提供的空间,那你可以自己要求他给你你想要的用户名和密码了。
同功能的函数还有mysql_pconnect( )。语法是一样的,区别在于后者开启一个长期连接,且无法使用mysql_close()函数关闭,而前者使用完后要用mysql_close()及时的关闭。应该说开发B/S的话是用mysql_pconnect()好,一般网站的前台什么的是用mysql_connect()好。比方对付黑客来说,用mysql_pconnect更安全了,不用每次连接发送用户名和密码了。
这个函数成功连接后,会返回一个连接ID。因此,这个函数一般这样写:
$link= mysql_pconnect( );
说到这,补充一个函数mysql_close(),
语法为:mysql_close(“要关闭的连接ID”);
比如:mysql_close($link);
注:所有( )内都为字符串,有$符号时就无须”” 了。
2.mysql_select_db( )
它的作用是选择一个数据库为当前数据库。以后的操作就都在这个数据库中进行了。这个函数如果执行成功,返回一个true,否则返回false。
语法为:mysql_select_db( “数据库名称”,”连接的ID”);
第二个参数可以省略,它会自动寻找并连接最后一个使用的连接ID。
在本程序中,这个语句我们写成:mysql_select_db( "biezhiyinan",$link);
3.mysql_query()
它的作用是向服务器发出一个提出请求的字符串。
语法为:mysql_query(“提出问题的字符串”,连接ID);
其中第一个参数是一个完整的MySQL语句,第二个参数可以省略,偶一般是把它省略的。
在使用这个函数前应该先用mysql_select_db( )指定要使用的数据库。
当提问的字符串是update、insert或delete时,函数返回的结果是true或false,表明查询是否成功,如果提问字符串是select语句则返回一个结果ID,如果select发生错误,则返回false。
了解了上面三个重要的函数后,我们就可以对数据库进行操作了。
二.向数据库发出请求语句基础知识
它们分别是:insert(向数据库插入数据)、delete(删除数据表中的数据)、select(检索数据)、update(更新数据)。
- insert():向数据库插入数据。
语法A:insert into 数据表名(字段1,字段2,……)values(“字段1的内容”,” 字段的2内容”……);
语法B:insert into 数据表名 set 字段1=”字段1的内容”, 字段2=”字段2的内容”,……;
对A中,字段名可以省略,但后面的values部分的内容必须要和phpmyadmin中定义的字段顺序一样。
下面请看例子:
A:insert into Article(title,date,author,source,content) values($title,$date,$author,$source,$content)
注:上面的“$……“代表了要添加字段的内容,定义时:$……=”内容”;
B:insert into Article set title=$title,author=$author
注:如果内容是数字,则”” 可以省略。
- delete():删除数据表中的数据
语法:delete from 数据表名 where 指定地点 limit 数字
如果没有“where 指定地点”则表中所有数据都没了。“limit 数字”可以告诉服务器可以删除的最大行数。
例子:delete from Article where id=$id limit 0,1;(表示只删除一个记录)
3. select(): 检索数据
语法:select 字段名1,字段2,…… from 数据表名 where 地点;
如果想列出所有记录中所有列的数据,可以使用“*“代表字段名。
例子:A:select id,author from Article where id=$id;
B:select * from Article where id=$id;
- update():更新数据
语法和insert几乎是完全一样的。
如:update Article set author=$author,title=$title where id=$id;
值得注意的是,使用update语句时,要注意使用where字句,否则可能会导致大量的数据丢失。比如:
update Article set author=”biezhiyinan”
这个操作会使表中所有的作者都变成“biezhiyinan”了。
再举一个正面的例子,记录文章的表Article中,如果有一个字段为hits,用来存储文章的点击数,点击一次后,他的hits就增加1,可以使用以下的语句:
update article set hits=hits+1 where id=$id;
上一篇
下一篇

文章来自:
Tags: