2016-01-13 131 views
0

我购买了一个脚本,开发人员在我付款后(他们说的工作告诉我的下一小时)没有回应他们修改代码。我想通过复制和过去复制现有代码中的字段,但当然这不起作用。我想复制的代码是:帮助未定义的stdclass错误

<td class="dt2 dt0"><?php echo $this->lang->line('Description');?>:</td> 
<td class="dt2" colspan="3"><?php echo wordwrap($job->description,100,"<br>",true); ?></td>         
</tr> 

他们给我添加的代码是:

<tr class=""> 
    <td class="dt2 dt0"><?php echo $this->lang->line('description2');?>:</td> 
    <td class="dt2" colspan="3"><?php echo wordwrap($job->description2,100,"<br>",true); ?></td>          
</tr> 

然后告诉我要转到的phpmyadmin和查询数据库:

ALTER TABLE 'jobs' ADD 'description2' text COLLATE 'utf8_general_ci' NOT NULL AFTER 'description',COMMENT="; 

当我做这个代码时,输​​出值与原来的复制相同。如果我改变了复制$job->description2像他们说我页面上出现错误:

一个PHP错误遇到

严重性:注意

消息:未定义的属性:stdClass的:: $内容描述2

文件名:job/view_job.php

行号:427

所以我想,因为我在他们的网站上从他们那里购买了他们的代码,他们会很有帮助,但很显然它不是他们的代码,并不断询问我的服务器的ftp来修复它,所以我是leary。

我搜索了这里性病的错误和看到的例子或添加新stdClass的:

$jobs=new stdClass(); 
$jobs->name='discription'; 
$jobs->status=1;) 

,但它并没有做任何的错误。任何帮助,将不胜感激。

回答

0

看起来属性“description2”只是不存在于$job对象中。我认为您的开发人员还必须为您提供新的工作分类。你的项目中是否有缓存可以刷新?

也可以使用var_dump($job)了解此对象的实际属性。当然,您可以简单地添加一个新的StdClass $作业并添加一个属性“description2”,但我相信这不会是预期的用途。

+0

我不确定。我在哪里做var_dump?创建一个PHP文件并添加它?我还发现这是对输入的形式:

\t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t \t

\t \t \t \t \t \t \t \t <?php echo form_error('description'); ?> –

+0

你可以将一个var_dump放在任何包裹在php标签中的地方。这只是暂时的,并帮助你看到$ job内部的内容。我认为你需要用“description2”值重复上面的代码 - 但这只是猜测。 – Alex2php

+0

我做了var_dump,它返回NULL。当我删除$时,它返回字符串(3)“job”。 –