作者gss112196 (轻飘飘的云)
看板PHP
标题[请益] 资料库查询後的阵列索引值
时间Thu Jun 13 21:55:36 2013
请教一下各位,
前人用PHP做了一个网站,需要我来维护,
但是他的网站载到我的LOCAL端却无法使用,
才发现他用
$row = mysql_query($result,$database)
他都用 $row[name]; $row[id]; 这样的方式取值,
可是正确的方式应该是$row['name'] $row['id'];
请问一下前人是修改了什麽设定让阵列索引值可以直接取值出来?
因为对方写的系统已经很完整了,
所以想在本机端只能修改成一样的环境来继续开发,
麻烦解惑了,谢谢。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.135.243.202
1F:推 LPH66:我比较想猜是资料库没盖好... 06/13 22:16
3F:→ bency:如果没被定义成常数 php会把它转成字串 但里面没提到怎麽设 06/13 23:57
4F:→ bency:定成这样 还要再查一下 06/13 23:57
5F:→ kosjason:确定是Mysql吼? 因为我看文章有 mysql_query 06/14 00:36
6F:→ kosjason:因为MSSQL 确实可以不用[''] 06/14 00:36
7F:推 yanli2:mysql 也可以不用 [''] 06/14 09:22
8F:→ rickysu:这跟什麽DBMS无关,在PHP预设中没有定义的常数就会被转成 06/14 11:32
9F:→ rickysu:字串。但是这是个很不好的习惯,如果你的栏位刚好是预先 06/14 11:33
10F:→ rickysu:定义的常数,那会造成非预期的错误。请乖乖的使用['xxx'] 06/14 11:34
11F:→ rickysu:使用这种糟糕写法的人真的该叫来骂一骂,别再残害後人了 06/14 11:36
谢谢各位的解惑,听说前人比较熟的是MSSQL,到这家公司才依照需求学习php+mysql,
所以可能就跟kos大说的,因为MSSQL可以不用[''],
所以我发现这个网站里面有很多MSSQL的影子,
然後我又参考了bency大连回了官网研读了一下,
才发现原来php对於array的索引值没有很严谨的规范,
才会让我在测试环境有很多的问题,看来我应该就要跟rickysu大一样,
改成正确的格式,慢慢改....。
只是不太懂在线上环境是可以正常show的,在测试环境就有问题,
所以才去思考是否是有改变设定值过,总之先谢了。
※ 编辑: gss112196 来自: 210.66.55.239 (06/14 14:09)
12F:→ rickysu:php取用undefined值会丢出一个notice的警告讯息,一般在 06/14 16:13
13F:→ rickysu:正式环境中都会把notice以及warning关掉,可是开发环境会 06/14 16:14
14F:→ rickysu:把讯息打开,有些 framework 会把这些讯息当成 error 处理 06/14 16:16
15F:→ rickysu:导致程式执行中断 06/14 16:16
16F:推 f1234518456:用pdo或ado熟哪个资料库应该没差吧.... 06/16 10:48