本文目录一览:
- 1、谈谈你对 mysql 事务的认识 我是php初学者不懂这个 想请教大神教我
- 2、PHP MYSQL面向对象编程,不明白其具体意义何在?提高了性能、效率、重用?
- 3、网页制作php+mysql如何学习?
- 4、做样才能学好php+mysql呢
- 5、php +mysql开始学习,要学什么?先学什么,在学什么?
谈谈你对 mysql 事务的认识 我是php初学者不懂这个 想请教大神教我
先简单介绍一下事务吧!事务是DBMS得执行单位。它由有限得数据库操作序列组成得。但不是任意得数据库操作序列都能成为事务。一般来说,事务是必须满足4个条件(ACID)
原子性(Autmic):事务在执行性,要做到“要么不做,要么全做!”,就是说不允许事务部分得执行。即使因为故障而使事务不能完成,在rollback时也要消除对数据库得影响!
一致性(Consistency):事务得操作应该使使数据库从一个一致状态转变倒另一个一致得状态!就拿网上购物来说吧,你只有即让商品出库,又让商品进入顾客得购物篮才能构成事务!
隔离性(Isolation):如果多个事务并发执行,应象各个事务独立执行一样!
持久性(Durability):一个成功执行得事务对数据库得作用是持久得,即使数据库应故障出错,也应该能够恢复!
MYSQL的事务处理主要有两种方法。
1、用begin,rollback,commit来实现
begin
开始一个事务
rollback 事务回滚
commit 事务确认
2、直接用set来改变mysql的自动提交模式
MYSQL默认是自动提交的,也就是你提交一个QUERY,它就直接执行!我们可以通过
set autocommit=0
禁止自动提交
set autocommit=1 开启自动提交
来实现事务的处理。
但注意当你用 set
autocommit=0
的时候,你以后所有的SQL都将做为事务处理,直到你用commit确认或rollback结束,注意当你结束这个事务的同时也开启了个新的事务!按第一种方法只将当前的作为一个事务!
个人推荐使用第一种方法!
MYSQL中只有INNODB和BDB类型的数据表才能支持事务处理!其他的类型是不支持的!(切记!)
下次有空说下MYSQL的数据表的锁定和解锁!
MYSQL5.0 WINXP下测试通过~ ^_^
mysql use test;
Database
changed
mysql CREATE TABLE `dbtest`(
- id int(4)
- ) TYPE=INNODB;
Query OK, 0 rows affected, 1 warning (0.05
sec)
mysql select * from dbtest
- ;
Empty set (0.01
sec)
mysql begin;
Query OK, 0 rows affected (0.00
sec)
mysql insert into dbtest value(5);
Query OK, 1 row affected
(0.00 sec)
mysql insert into dbtest value(6);
Query OK, 1 row
affected (0.00 sec)
mysql commit;
Query OK, 0 rows affected (0.00
sec)
mysql select * from dbtest;
+------+
| id
|
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00
sec)
mysql begin;
Query OK, 0 rows affected (0.00
sec)
mysql insert into dbtest values(7);
Query OK, 1 row affected
(0.00 sec)
mysql rollback;
Query OK, 0 rows affected (0.00
sec)
mysql select * from dbtest;
+------+
| id
|
+------+
| 5 |
| 6 |
+------+
2 rows in set (0.00
sec)
mysql
*******************************************************************************************************************
[PHP]
function
Tran( $sql ) {
$judge = 1;
mysql_query('begin');
foreach ($sql as $v) {
if
( !mysql_query($v) ) {
$judge =
0;
}
}
if ($judge == 0)
{
mysql_query('rollback');
return
false;
}
elseif ($judge == 1) {
mysql_query('commit');
return true;
}
}
[/PHP]
************************************************
?php
$handler=mysql_connect("localhost","root","");
mysql_select_db("task");
mysql_query("SET
AUTOCOMMIT=0");//设置为不自动提交,因为MYSQL默认立即执行
mysql_query("BEGIN");//开始事务定义
if(!mysql_query("insert
into trans (id)
values('2')"))
{
mysql_query("ROOLBACK");//判断当执行失败时回滚
}
if(!mysql_query("insert
into trans (id)
values('4')"))
{
mysql_query("ROOLBACK");//判断执行失败回滚
}
mysql_query("COMMIT");//执行事务
mysql_close($handler);
?
引自:
PHP MYSQL面向对象编程,不明白其具体意义何在?提高了性能、效率、重用?
把 mysql 与 php 的链接看做一个对象,这个对象负责php与mysql的交互。
其意义在于把数据库的链接抽象成了对象,抽象的意义在于化繁为简。
普通的那种方式,更像是一种行为,全都是行为由谁发出呢?由php语言本身?
面向对象的方式,则有这个对象发出!
网页制作php+mysql如何学习?
我看完php的语法,感觉对网页制作没什么帮助--你这句话我能理解,也能看出你是一个辩证性思维比较强的人;我乐意为你解答你的问题。
你应该有过这样的经历吧,那就是你需要在某些网站里注册,那么为什么你离开很多天甚至几年后,你还是其中的会员呢?那就时因为你在注册的时候你输入的信息被存入到了数据库,以PHP+MySQL为例来说,就是PHP有能力把你输入的数据提交给数据库,MySQL数据库就存放了你的信息,等到你下次再登陆的时候呢,PHP就会到MySQL那里去取出数据来。这些算是PHP对网页制作的帮助吧?当然这个是比较浅显的例子,很多论坛,留言板之类的都是通过PHP+MySQL构筑的。
你的第二个问题,还需要什么知识,首先就需要操作数据库的知识,这里分两点,第一点,就是对数据库本身的认识,包括SQL语句,查询优化,使用索引,安全性能,事务与锁,权限设置等等,当然,你开始的时候会DDL DML就可以了,如果这里提到的名词你不是很清楚,你可以在百度上查查,那样你会更加明了;第二点,就是使用PHP来访问数据库,你看完PHP语法,应该要有访问数据库这样的章节才算完整。如果你学的PHP语法都是比较浅显的,那么你还需要更进一步,比如面向对象编程,缓存技术,静态化技术之类的,你要是感觉作用或区别不大,那是因为你没有充分考虑到如果是在大型项目中的情况。当然,需要的知识还很多,比如说PHP框架,JQuery之类的JS库,Samrty之类用用于模板技术的库等等。
你的第三个问题:之后该怎么学。首先要对网络的常识要很清楚,比如HTTP协议,什么是静态网站,什么是动态网站等等;再要清楚自己编写静态网页以及美工方面的功底如何,能够保证很熟练地独立开发一个静态网站来;至于这之后该怎么学,上面说的那些就是你的任务,当然,你还需要进一步了解它们都是怎么一回事,如果需要这样做的话。
你的第四个问题:教材其实很多,也差不多,你有语言功底了以后看什么都容易入门。当然,我看的是澳大利亚的一本PHP MySQL web 开发第三版,虽然我买了这本书,不过我并不打算建议你去买,你要充分运用好网络资源,包括百度文库,专业名站,视频教材等等,另外,如果英语水平了得的话,建议你看英语原版。
希望你以后的学习会给你带来更多快乐!
做样才能学好php+mysql呢
我是一个高考的过来人。首先我想请阁下明白一个道理冰冻三尺非一日之寒,所以坚持很重要,英语是一门很看重积累的科目。
虽然我高考已经好多年了,而且今年即将大学毕业,踏入社会。但英语一直没有丢,英语一直是我的排头兵!我对英语的自信还有,我觉得学好英语不难,重要的是你要有恒心,急躁冒进,三天打渔两天晒网都是不行的。在这里我就毛遂自荐一下我的学习方法吧:
首先先你要端正心态,不要急躁,,你做你自己的事,这样才能静下心来学习。要成为英语高手就必须比别人走更多的路,做更多的事。你应该明白一个事实,英语是单词和语法的综合,所以单词和语法都要拿下。
其次,对于单词,有如下几种方法,第一个,是加强记忆的频度,也就是说,早上记了几个,隔几个小时又看一次,总之一天之内,记忆的间隔不要太长,否则你辛苦积累的记忆会随着时间的延长而淡化,第二个,是可以根据自己的理解编顺口溜,比如good morning 是狗摸你…(见笑了)…,第三个,最重要的是,记单词的时候,不要忘了阅读,一边记单词,一边看文章,这样可以把孤立的单词串联起来,记忆的效果会加倍,第四个。我建议你记单词要分门别类记忆,要形成一个意群,比如,重要性用magnitude magnificence ,表示非常,大大地有exceedingly,tremendously,extremely……这样做在你写作时,是十分有好处的,写作时不要尽写一些低级词汇,你要写高级词汇,比如重要性写magnitude,许多写a multitude of 或者handsome。
再次,是语法。学习语法,首先要明白什么是主谓宾定状补,什么是系动词,什么是直接宾语,间接宾语,这些是学习语法的基础,语法是房子,主谓宾定状补等是沙石砖瓦
此外,对于完形填空以及阅读理解,那就只能靠平时的练习了,在这个过程中,你要时时总结,纵深对比,千万不要陷入题海战术只做题,不总结的误区当中。在做题的过程中,你把各种体型都总结了一遍,积累了丰富的经验,而且你还提升了自己的阅读速度,一举两得,所以做题是很重要的!其实,完形填空无非就是单项选择加语境分析,也就是说,做完形填空你的语法要好,而且你要积累比较多的固定搭配,短语,特殊用法等,完形填空的语法还是很重要的!对于阅读,我个人感觉是,纯粹是个人经验积累多少的问题,只有保证一定的练习量,你才能用质的提高!
最后,我建议你,平时读报,或者做题的时候,发现有好的句子好的词汇,你要抄下来,长期下来,你的作文会有提高的,需要说明的是,这个提高过程可能很缓慢,但是最后能收到很好的效果,以前25分的作文我都能保证在21-23这个级别,靠的就是对语法的熟练掌握和积累了许多较高级的词汇,句型,句子。我个人的理解是,在你的语法达到基本不会出错的程度上,作文便应该以词汇取胜,因为在这个层次上,大家的语法都差不多,没什么变化,唯一有变化的就是你的词汇!给你打个比方吧,很多想到“许多”就用many,但是你别忘了many a ;handsome;massive,innumerable;很多人想到“专家”就写expert,但很少人会想到specialist,很多人在想到“擅长”这词,就写be good at ,却不知还有更高级的表达法:be expert at 或者excel in ……高手和庸才,就体现在这些细微的差别上 !!
php +mysql开始学习,要学什么?先学什么,在学什么?
php+mysql??
当然是先学php,
如果你没有其他语言的编程基础,
这将是一个漫长的时间,
如果你有其他语言的编程基础,
你能很快度过这段时间,当然要想记住php居多的函数也不是这会能完成的。
然后是学着用php连接数据库,当然不一定是mysql,虽然他们是黄金搭档。
刚开始学着怎么写简单sql语句,
然后逐步掌握更多更繁琐的sq,然后学着优化数据库,
设计数据库。
然后,
就不知道了..................