[SQL ] 請問mysql PDO的使用(更新問題說明)

看板Database (資料庫)作者 (魯來又魯去)時間9年前 (2014/08/15 14:06), 9年前編輯推噓7(7016)
留言23則, 5人參與, 最新討論串1/1
各位先進好 小弟使用MYSQL PDO一段時間了 但是還是不知道他正確的用法 對於資料庫也是一知半解 之前有問過資料庫很卡的問題... 有人回答可能中了TABLE LOCK的問題 但我不知道為什麼會有這個問題 所以來請教是不是我的寫法有誤 try { //開始交易 $db_conn->beginTransaction(); $sql = "DELETE FROM `table` WHERE table_num = :num"; $stmt = $db_conn->prepare($sql); $stmt->bindParam(':num', $num); $stmt->execute(); $db_conn->commit(); } catch (PDOException $e) { //交易失敗,回復初始狀態 $db_conn->rollBack(); echo "A database problem has occurred: ". $e->getMessage(); exit; } $db_conn = null beginTransaction只在UPDATE、INSERT有做 SELET的時候不做 像這樣會有TABLE LOCK的問題嗎? 麻煩各位先進為小弟解惑了 先謝謝了! -----------------------------08/18更新 http://ppt.cc/h2qY 如圖,如果我是在PHPMYADMIN的話會卡在讀取中 而如果一樣在PHPMYADMIN用 http://ppt.cc/14q7 搜尋的話就可以,把sql打在php檔裡面上傳上去執行也可以 再次感謝各位先進! -- Sent from my 3cm -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 59.120.19.218 ※ 文章網址: http://www.ptt.cc/bbs/Database/M.1408082781.A.113.html

08/15 15:22, , 1F
你是甚麼情況下很卡呢
08/15 15:22, 1F
就是會卡在讀取中... 然後不管等多久都沒反應 一直跑讀取中... ※ 編輯: crossdunk (59.120.19.218), 08/15/2014 16:21:16

08/15 16:52, , 2F
你先確定同時是不是有人在使用這筆資料
08/15 16:52, 2F

08/15 16:53, , 3F
另外你在做資料修改前,有先去LOCK看看嗎?
08/15 16:53, 3F
這樣說好了 如果我把指令打在網頁中,讓網頁去顯示我想要的資料的話,資料是出的來的 不會卡在讀取中 但是我用網頁開mysql的時候,用輸入sql指令,同樣的指令就會一直跑讀取中... 至於lock我也不是很懂,有google過一些資料,還是一知半解... ※ 編輯: crossdunk (59.120.19.218), 08/15/2014 17:02:00

08/15 17:02, , 4F
你指的SQL的是單純的SELECT嗎?
08/15 17:02, 4F
對的 只是單純的select 差別在我在網頁內的程式碼是如上 而直接在網頁的mysql下的是只有SELECT * FROM TABLE 這樣而已 ※ 編輯: crossdunk (59.120.19.218), 08/15/2014 17:06:36

08/15 20:43, , 5F
看起來不像lock
08/15 20:43, 5F

08/15 20:46, , 6F
你應該是程式端,裡面有寫select 把資料呈現到網頁上
08/15 20:46, 6F

08/15 20:46, , 7F
平常跑程式的時候是正常的,可是你上一個text在網頁上
08/15 20:46, 7F

08/15 20:47, , 8F
讓使用者在text輸入select....之後送出希望可以查到資
08/15 20:47, 8F

08/15 20:47, , 9F
料,結果卻卡住? 如果是的話 這可能是網頁的問題
08/15 20:47, 9F
用網頁是開phpmyadmin 來下SQL指令,就連只有八個欄位2筆資料的資料表 select * from table 都卡在讀取中... ※ 編輯: crossdunk (122.116.70.209), 08/15/2014 22:03:45

08/15 22:49, , 10F
先看一下是程式卡住 還是資料庫卡住吧
08/15 22:49, 10F

08/15 22:49, , 11F
我不是寫PHP的..所以你說那個我不太清楚XD
08/15 22:49, 11F

08/15 23:16, , 12F
你command line query看看吧,說不定是phpmyadmin問題
08/15 23:16, 12F
好的 我去google看看,感嗯!!

08/15 23:20, , 13F
另外建議你問問題時不要把phpmyadmin叫做資料庫,
08/15 23:20, 13F
抱歉,因為對於這個也是一知半解..

08/15 23:21, , 14F
不是同概念東西...
08/15 23:21, 14F

08/15 23:25, , 15F
簡單的說你直接開資料庫下指令不會有問題
08/15 23:25, 15F

08/15 23:26, , 16F
用別的東西下指令會有問題,那問題應該是出在那東西上
08/15 23:26, 16F

08/15 23:26, , 17F
或者是資料庫與那東西的連接上,而不是那個TABLE
08/15 23:26, 17F
寫在網頁裡下指令沒有問題 用phpmyadmin開就會卡住... ※ 編輯: crossdunk (122.116.70.209), 08/16/2014 11:35:25 ※ 編輯: crossdunk (59.120.19.218), 08/18/2014 09:39:12

08/19 20:24, , 18F
我也有類似的問題,一用phpmyadmin就掛,甚至讓mysql的cpu
08/19 20:24, 18F

08/19 20:24, , 19F
高滿載,換成adminer或是mysql workbench就沒這個問題,應
08/19 20:24, 19F

08/19 20:24, , 20F
該是phpmyadmin的問題
08/19 20:24, 20F
恩 我用adminer沒這個問題,但是搜尋出來因為有些欄位的資料比較多 整個格子都被稱大了QQ 這樣找起來好麻煩....還是感謝說明!!!! ※ 編輯: crossdunk (220.130.116.41), 08/21/2014 09:59:33


10/28 11:27, , 22F
大意是說 到 /usr/share/phpmyadmin/libraries/
10/28 11:27, 22F

10/28 11:28, , 23F
編輯 Util.class.php 這個檔案
10/28 11:28, 23F
文章代碼(AID): #1JxQDT4J (Database)
文章代碼(AID): #1JxQDT4J (Database)