> 백엔드 개발 > PHP 튜토리얼 > 为什么给表加了读锁之后无法把数据查询出来?

为什么给表加了读锁之后无法把数据查询出来?

WBOY
풀어 주다: 2016-06-23 14:25:55
원래의
1408명이 탐색했습니다.

mysql_query("LOCK TABLES tablename READ;");$result=mysql_query($sql, $conn);mysql_query("UNLOCK TABLES;");
로그인 후 복사

注释掉第一条语句之后能够正常地把记录查询出来,但是一旦使用第一条语句就什么都查不出来了。


回复讨论(解决方案)

你都不让读了,如何能读出来?

你都不让读了,如何能读出来?
但是我加了写锁之后是可以写入的。加读锁不是只有本线程(可能不是这个词)和其他线程都可以读,谁都不可以写么?

请您认真阅读手册后,我们再讨论

请您认真阅读手册后,我们再讨论
我看不了大段的英文。

不是有中文手册吗

不是有中文手册吗
你说完我下载了一个中文的。
中文的我也没看出来什么,我看的是LOCK TABLES那个部分。我试了一下那个别名,还是不行。

不是有中文手册吗
我在MySQL的命令行界面下试了一下读锁,和 网上的那个一样,跟我想的也一样,但是用PHP就不行。

我了个草,我自己找到毛病了。我那个SELECT使用了两个表,但我只锁了一个表,如果只锁一个的话,此线程或者说会话只能读这一个表,其他的表都会拒绝读。这样SELECT自然查不出结果了。
真服了我自己了,我本来写了一个单独的简单的php程序来测试错误来着,这个简单的php程序居然也一直在错。可能是复制粘贴之后没有改参数之类的东西的原因吧。
等帖子沉了再结贴吧,希望别人不要像我这么粗心。

楼主 为什么我用这条语句却锁定不了表

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿