作者crossdunk (魯來又魯去)
看板Database
標題[SQL ] 請問mysql PDO的使用
時間Fri Aug 15 14:06:17 2014
各位先進好
小弟使用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://webptt.com/m.aspx?n=bbs/Database/M.1408082781.A.113.html
1F:推 GoalBased: 你是甚麼情況下很卡呢 08/15 15:22
就是會卡在讀取中...
然後不管等多久都沒反應 一直跑讀取中...
※ 編輯: crossdunk (59.120.19.218), 08/15/2014 16:21:16
2F:→ bohei: 你先確定同時是不是有人在使用這筆資料 08/15 16:52
3F:→ bohei: 另外你在做資料修改前,有先去LOCK看看嗎? 08/15 16:53
這樣說好了
如果我把指令打在網頁中,讓網頁去顯示我想要的資料的話,資料是出的來的
不會卡在讀取中
但是我用網頁開mysql的時候,用輸入sql指令,同樣的指令就會一直跑讀取中...
至於lock我也不是很懂,有google過一些資料,還是一知半解...
※ 編輯: crossdunk (59.120.19.218), 08/15/2014 17:02:00
4F:→ bohei: 你指的SQL的是單純的SELECT嗎? 08/15 17:02
對的 只是單純的select
差別在我在網頁內的程式碼是如上
而直接在網頁的mysql下的是只有SELECT * FROM TABLE 這樣而已
※ 編輯: crossdunk (59.120.19.218), 08/15/2014 17:06:36
5F:推 GoalBased: 看起來不像lock 08/15 20:43
6F:推 GoalBased: 你應該是程式端,裡面有寫select 把資料呈現到網頁上 08/15 20:46
7F:→ GoalBased: 平常跑程式的時候是正常的,可是你上一個text在網頁上 08/15 20:46
8F:→ GoalBased: 讓使用者在text輸入select....之後送出希望可以查到資 08/15 20:47
9F:→ GoalBased: 料,結果卻卡住? 如果是的話 這可能是網頁的問題 08/15 20:47
用網頁是開phpmyadmin 來下SQL指令,就連只有八個欄位2筆資料的資料表
select * from table 都卡在讀取中...
※ 編輯: crossdunk (122.116.70.209), 08/15/2014 22:03:45
10F:推 GoalBased: 先看一下是程式卡住 還是資料庫卡住吧 08/15 22:49
11F:→ GoalBased: 我不是寫PHP的..所以你說那個我不太清楚XD 08/15 22:49
12F:推 up9cloud: 你command line query看看吧,說不定是phpmyadmin問題 08/15 23:16
好的 我去google看看,感嗯!!
13F:→ up9cloud: 另外建議你問問題時不要把phpmyadmin叫做資料庫, 08/15 23:20
抱歉,因為對於這個也是一知半解..
14F:→ up9cloud: 不是同概念東西... 08/15 23:21
15F:推 GoalBased: 簡單的說你直接開資料庫下指令不會有問題 08/15 23:25
16F:→ GoalBased: 用別的東西下指令會有問題,那問題應該是出在那東西上 08/15 23:26
17F:→ GoalBased: 或者是資料庫與那東西的連接上,而不是那個TABLE 08/15 23:26
寫在網頁裡下指令沒有問題
用phpmyadmin開就會卡住...
※ 編輯: crossdunk (122.116.70.209), 08/16/2014 11:35:25
※ 編輯: crossdunk (59.120.19.218), 08/18/2014 09:39:12
18F:推 Den3: 我也有類似的問題,一用phpmyadmin就掛,甚至讓mysql的cpu 08/19 20:24
19F:→ Den3: 高滿載,換成adminer或是mysql workbench就沒這個問題,應 08/19 20:24
20F:→ Den3: 該是phpmyadmin的問題 08/19 20:24
恩 我用adminer沒這個問題,但是搜尋出來因為有些欄位的資料比較多
整個格子都被稱大了QQ
這樣找起來好麻煩....還是感謝說明!!!!
※ 編輯: crossdunk (220.130.116.41), 08/21/2014 09:59:33
22F:→ sk1765: 大意是說 到 /usr/share/phpmyadmin/libraries/ 10/28 11:27
23F:→ sk1765: 編輯 Util.class.php 這個檔案 10/28 11:28