Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend获取数据库记录错误_Php_Sql_Database_Zend Framework - Fatal编程技术网

Php Zend获取数据库记录错误

Php Zend获取数据库记录错误,php,sql,database,zend-framework,Php,Sql,Database,Zend Framework,我有一个链接 带有参数dafa60b2b96c366e165be58649755742 试图获取该参数以连接到数据库以获取该用户信息,但最终没有获取任何对象:注意:尝试获取第行中非对象的属性 这是我的密码: application.ini: resources.router.routes.referralSelectProduct.route=“/referral/:url” resources.router.routes.referralSelectProduct.defaults.contr

我有一个链接

带有参数dafa60b2b96c366e165be58649755742

试图获取该参数以连接到数据库以获取该用户信息,但最终没有获取任何对象:注意:尝试获取第行中非对象的属性

这是我的密码:

application.ini:

resources.router.routes.referralSelectProduct.route=“/referral/:url” resources.router.routes.referralSelectProduct.defaults.controller=索引 resources.router.routes.referralSelectProduct.defaults.action=参考选择产品 resources.router.routes.referralSelectProduct.reqs.url=“[0-9a-zA-Z]+”

控制器:

public function referralSelectProductAction()
{
    $referral_url = $this->getRequest()->getParam('url');
    $user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url));

    setcookie('referral_url', $referral_url, time() + 3600*24*30, '/');
}
型号:

    class Application_Model_DbTable_Users extends Sayka_Db_Table_Abstract{
protected $_rowClass = 'Application_Model_DbTable_Row_User';protected $_name = 'users';}
视图:



选择要推荐给朋友的产品。


我的视图最终在数据库中没有得到该用户的对象。

如果我没记错的话(对于zend framework 1.*):


确保此
$this->\u helper->model('Users')->fetchRowByFields(数组('url'=>$reference\u url))
返回您期望的结果
var_dump
it in controller

您能否明确地告诉我们您从哪一行代码中获取错误,并显示上下文代码,直到您获取错误的地方?这个错误很明显,在那行代码中,您试图对一个对象进行操作,但您认为保存对象的变量没有。当我echo$this->user()->所有这些echo都给出一个错误时,它实际上在视图中。它不会获取该用户的数据库记录您甚至没有显示调用
$this->user()
的任何代码行。显然,
用户
对象没有设置,你只需要调试你的代码来找出原因。好吧,它第一次在firefox上运行,但是当我在chrome上尝试时,我得到了这个错误。可能是setCookie做的吗???哦,我现在在HTML部分看到了。你不能在类上下文之外使用
$this
。是的,我检查了,第一次它获取用户信息,然后我尝试使用另一个浏览器,然后我得到了一个错误,可能是控制器中的setCookie做的吗?如果错误取决于浏览器,那么cookie可能是一个问题。这取决于您在js中使用它的方式。你能发布这个错误吗?选择要引用你朋友的产品注意:在第20行的/home/refere/application/views/scripts/index/reference-Select-product.phtml中尝试获取非对象的属性。你是否尝试过在controller中使用var_dump查看
$this->\u helper->model('Users')->fetchRowByFields(数组('url'=>$reference\u url))返回什么
?它将如何帮助我进行var\u转储?
<div id="content_bottom" class="content"><br/>
<h1>Select the product to refer your friend <span class="colorset_orange"><?php echo $this->user()->first_name; ?></span>.</h1>
<div><a class="refer_submit" href="?email=<?php echo $this->user()->email ?>&first_name=<?php echo $this->user()->first_name; ?>&last_name=<?php echo $this->user()->last_name; ?>" id="btn_free_download">Free Download</a></div>
<div><a class="refer_submit" href="#" id="btn_buy_now">Buy Now</a></div>
// Controller
...
$this->view->user = $this->_helper->model('Users')->fetchRowByFields(array('url' => $referral_url));


// View
echo $this->user->email;