字符问题,真讨厌

gimser 2003-09-18 12:38:59
从数据库里读内容,以前在一个服务器上 返回内容的时候从来不加双引号
$rs[id]
到了新的一台上,不加就报错~~faint!
简直气死了~~~
传参数的时候也是
以前传的时候func(a,b,v,d)
function func()
{
$args = func_get_args();
......
直接就搞定

现在传的时候还要加双引号func("a","b","v","d")

谁能告诉我 给我解释解释 难道和PHPINI有关~~~~?
两台我都用的一个版本的PHP啊
...全文
21 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
gimser 2003-09-18
  • 打赏
  • 举报
回复
可以我以前不加没问题啊

还有eval 我调用数据库中存的HTML的代码,总出现错误
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in

以前同样的用法就没有错误
保证语句没有错误
eval("echo \"".$tmp->templates["main"]."\";");

同样双引号也出现问题

麻烦啊~~~~~

DFlyingchen 2003-09-18
  • 打赏
  • 举报
回复
加上引号是正规的写法啊
gimser 2003-09-18
  • 打赏
  • 举报
回复
现在必须写成$rs["id"] 不然就什么一堆字符错误 应该这样 或者这样什么的错误

解释解释啊
wanzhen 2003-09-18
  • 打赏
  • 举报
回复
好地编程规范很重要,老实的写吧!:)
zhangking 2003-09-18
  • 打赏
  • 举报
回复
最好写规范的代码,不要搞一些简化。
不同的机器,软件的版本可能不同,但不同的软件都支持规范的语法。
比如,html 的语法校验比较松散,但 xml 就很严格了。
lang11zi 2003-09-18
  • 打赏
  • 举报
回复
加“”必须的 我就见过字符串型的字段 然后对里面的数字不加引号的
ustb 2003-09-18
  • 打赏
  • 举报
回复
如楼上所说,自欺欺人一下吧,如果不想所有程序都改的话
;error_reporting = E_ALL & ~E_NOTICE
zzh26 2003-09-18
  • 打赏
  • 举报
回复
将php.ini中的报错等级调一下
error_reporting = E_ALL & ~E_NOTICE
xuzuning 2003-09-18
  • 打赏
  • 举报
回复
应该和php.ini有关,请给出错误提示
gimser 2003-09-18
  • 打赏
  • 举报
回复
加了set_magic_quotes_runtime(1);
一切都好了~~~~
gimser 2003-09-18
  • 打赏
  • 举报
回复
看来唠叨英文不错啊 ,呵呵 PHP里的函数了解的这么清楚
xuzuning 2003-09-18
  • 打赏
  • 举报
回复
有这等事?
不过若修改php.ini中
magic_quotes_runtime = on

或程序中执行
set_magic_quotes_runtime(1);

应该没有问题了。
打开magic_quotes_runtime开关会自动转义\、"、'

chiny 2003-09-18
  • 打赏
  • 举报
回复
我有一个修改过的中文版文模板解释类,注释齐全。如需要Please
mailto:chiny_1980@sohu.com
chiny 2003-09-18
  • 打赏
  • 举报
回复
你用的是模板,如果没猜错,用的就是phpbb,
他的做法就是将所有的全部echo出来,并且每从模板读出一句
比如<img src='a.gif'>
那么就会被解释成'echo <img src='a.gif'>;'
你想会不会出错?绝对会。
所以正确的方法就是

模板上所有单引号全部改成上引号,如<img src="a.gif">
解释为'echo <img src="a.gif">;'
如果你可以的话,和我一样,修改class.php,将模板解释器扩充。
xuzuning 2003-09-18
  • 打赏
  • 举报
回复
那就更有可能了,文字中出现单个的双引号是正常的。
请检查 magic_quotes_runtime 开关的状态。

gimser 2003-09-18
  • 打赏
  • 举报
回复
xuzuning(唠叨)
呵呵 别说还真是我数据库中存的内容有问题 不过我也没找到不配对的
我只是用最简单的<html>显示了几个字,就没有问题了
唉 搞的头痛
gimser 2003-09-18
  • 打赏
  • 举报
回复
templates是个数组 我把数据库中的内容提取到数组中的
xuzuning 2003-09-18
  • 打赏
  • 举报
回复
1、
$tmp->templates["main"] = 'abc';
error_reporting(E_ALL); //起用全部错误检测
eval("echo \"".$tmp->templates["main"]."\";");
正常:
abc

2、
$tmp->templates["main"] = 'abc';
error_reporting(E_ALL);
eval("echo \"".$tmp->templates[main]."\";");
错误信息:
Warning: Use of undefined constant main - assumed 'main' in D:\InetPub\books\users\ide\tmp_ide.php on line 4

3、
$tmp->templates["main"] = 'a"bc';
error_reporting(E_ALL);
eval("echo \"".$tmp->templates["main"]."\";");
错误信息:
Parse error: parse error, expecting `','' or `';'' in D:\InetPub\books\users\ide\tmp_ide.php(4) : eval()'d code on line 1

结论:
$tmp->templates["main"]中有未配对的“"”

gimser 2003-09-18
  • 打赏
  • 举报
回复
eval("echo \"".$tmp->templates["main"]."\";");

以前语句这么写也没有问题
只是换了台服务器就不行了
gimser 2003-09-18
  • 打赏
  • 举报
回复
Parse error: parse error, unexpected T_STRING, expecting ',' or ';' in d:\newhome\a\a.php(10) : eval()'d code on line 4

21,886

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧