作者tyc5116 (累人啊....)
看板PHP
标题[请益] 连接mysql时抓不到资料
时间Wed Feb 29 14:37:34 2012
如题,从php要抓SQL内的资料一直有问题
po上相关的程式码,请帮我看看
因为一直抓不到资料,所以我就写了一个function,专门来看连结的情况
该function的部份程式码是这样
$LinkID=mysql_connect("127.0.0.1","root","yenchang");
$SQLSyntax="select * from gpm_part.part";
$SQLSyntax2="select ".$Target." from ".$this->dbSchema.".".$Source."
where ".$Rule;
$Result=mysql_query($SQLSyntax,$LinkID);
$Result2=mysql_query($SQLSyntax2,$LinkID);
print "<br></br>LinkID=$LinkID";
print "<br></br>SQLSyntax=$SQLSyntax";
print "<br></br>SQLSyntax2=$SQLSyntax2";
print "<br></br>Result=$Result";
print "<br></br>Result2=$Result2";
$Target,$Source,$Rule是这个function的参数
结果如下
LinkID=Resource id #3
SQLSyntax=select * from gpm_part.part
SQLSyntax2=select partid,typename,partname from gpm_part.part,type where part.typeid=type.typeid
Result=Resource id #4
Result2=
有一个query会失败,请问是为什麽??
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 111.251.166.219
1F:→ gname:你要不要找本书看啊...= = 02/29 14:42
2F:→ gname:你印 Resource 出来, 当然看不到资料啊... 02/29 14:44
3F:→ tyc5116:我有书啊,但是不知道为什麽(我有C++的基础,就直接写了) 02/29 14:44
4F:→ tyc5116:这个只是在测试@@ 02/29 14:44
5F:→ tyc5116:若把Result2後面加上 02/29 14:47
6F:→ tyc5116:or die("Invalid query: " . mysql_error()); 02/29 14:47
7F:→ tyc5116:则会显示:Invalid query: No database selected 02/29 14:47
8F:→ tyc5116:请问为什麽抓不到DB? 02/29 14:48
9F:→ gname:你不是就找到问题了吗.. = =" 02/29 14:48
10F:→ chrisQQ:要先选 database ,mysql_db_select 之类的,或是加在 02/29 14:49
11F:→ chrisQQ:第二个参数 02/29 14:49
12F:→ chrisQQ:sorry, 正确的是 mysql_select_db 02/29 14:50
13F:→ gname:你没下 mysql_select_db 去告诉要哪个db... 02/29 14:50
14F:→ tyc5116:直接在语法内有db名称这样是不行的? 02/29 14:52
15F:推 chrisQQ:你说的是 table name 吧?要先给 database name 喔 02/29 14:54
16F:→ tyc5116:那为何Result可以呢? 02/29 14:54
17F:→ tyc5116:有啊,看一下print的结果,DB Name和TB Name都有 02/29 14:57
18F:→ chrisQQ:type 没有加 db name ? 02/29 14:57
19F:→ gname:第一条会过是因为你在语法中加了db的指定,第二条则有缺~ 02/29 15:01
20F:→ tyc5116:php有没有compiler啊,不然实在是不方便@@ 02/29 15:04
21F:→ tyc5116:结果似乎正常了,谢谢两位的帮忙 02/29 15:04
22F:→ chrisQQ:你错得是 mysql 逻辑,php 当然找不到 XD 02/29 15:37
23F:推 rocairforce:把query印出来丢到sql里跑看看 02/29 15:54
24F:→ tyc5116:就是丢到sql语法OK才伤脑筋,容易忽略DB name 02/29 17:33
25F:→ chrisQQ:最好的方法就是用 console 连 mysql debug XD 02/29 19:09
26F:→ chrisQQ:这样就会指出没先选 db 的 error, pma 你进去点了 db 就 02/29 19:09
27F:→ chrisQQ:帮你作掉那段了~ 如果你没做跨 db select 的话,最好 02/29 19:09
28F:→ chrisQQ:先选 db, 至少这样 sql 的字比较少 XD 02/29 19:10
29F:→ tyc5116:能不讲说一下作法?google一下看到的都是一般的连线 02/29 21:47
30F:→ chrisQQ:如果你的主机可以 ssh/telnet 就连进去直接下 mysql 指令 03/01 11:38