本文目錄一覽:
- 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,然後學着優化數據庫,
設計數據庫。
然後,
就不知道了………………
原創文章,作者:FKNUG,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/313806.html