Notice: Trying to get property of non-object
Ik ben bezig met Zend om een beetje autorisatie op gang te krijgen en krijg bovenstaande foutmelding.
ik zal het zo kort mogelijk houden :)
models/UserGroups.php
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
class UserGroups extends Zend_Db_Table
{
protected $_name = 'user_groups';
protected $_primary = 'group_id';
}
[/code]
Code die de fout weergeeft. gaat specifiek om regel 4:
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups();
$row = $table->fetchRow($table->select()->where( 'group_id = ?', '$value'));
echo $row->group_id;
[/code]
echo $value geeft netjes de user_id weer. Ook geeft the Select query geen foutmelding, en als ik hem echo en uitvoer in SQL geeft die gewoon group_id weer.
Ook fetchall, toArray() alles werkt niet naar behoren op deze code. Wat zeer vreemd is omdat:
[code]
$result = $table->fetchAll($table->select()->where("$this->_fieldName = '$value'"))->toArray();
[/code]
wel naar behoren werkt (zie script: Zend_Validate_UniqueField).
Na wat gegoogel vind ik dat de meeste mensen gewoon hun error_reporting uitzetten omdat het nog wel werkt. voor mij niet dus. ik moet group_id hebben om een acl_role te kunnen assignen.
---
Ik hoop voldoende informatie te hebben gegeven. vragen, of wil je meer zien. post ff een reply en ik zal het updaten.
Edit:
om het nog vervelender te maken:
[code]
mysql_connect('lxxx', 'xxx', 'xxx');
mysql_select_db('xxx');
$select = "SELECT group_id FROM user_groups WHERE user_id = '9'";
$result = mysql_query($select);
$row = mysql_fetch_Array($result);
echo $row['group_id'];
[/code]
werkt gewoon...
Ik weet 100% zeker dat mijn code niet fout is. Wat dan wel:S?
ik ben nog nooit zo stom geweest.. of misschien wel maar goed;)
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups;
$select = $table->select()->where('user_id = ?', $value);
$row = $table->fetchRow($select);
echo $row->group_id;
[/code]
is de nieuwe
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups();
$row = $table->fetchRow($table->select()->where( 'group_id = ?', '$value'));
echo $row->group_id;
[/code]
class UserGroups extends Zend_Db_Table
{
protected $_name = 'user_groups';
protected $_primary = 'group_id';
}
[/code]
Code die de fout weergeeft. gaat specifiek om regel 4:
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups();
$row = $table->fetchRow($table->select()->where( 'group_id = ?', '$value'));
echo $row->group_id;
[/code]
echo $value geeft netjes de user_id weer. Ook geeft the Select query geen foutmelding, en als ik hem echo en uitvoer in SQL geeft die gewoon group_id weer.
Ook fetchall, toArray() alles werkt niet naar behoren op deze code. Wat zeer vreemd is omdat:
[code]
$result = $table->fetchAll($table->select()->where("$this->_fieldName = '$value'"))->toArray();
[/code]
wel naar behoren werkt (zie script: Zend_Validate_UniqueField).
Na wat gegoogel vind ik dat de meeste mensen gewoon hun error_reporting uitzetten omdat het nog wel werkt. voor mij niet dus. ik moet group_id hebben om een acl_role te kunnen assignen.
---
Ik hoop voldoende informatie te hebben gegeven. vragen, of wil je meer zien. post ff een reply en ik zal het updaten.
Edit:
om het nog vervelender te maken:
[code]
mysql_connect('lxxx', 'xxx', 'xxx');
mysql_select_db('xxx');
$select = "SELECT group_id FROM user_groups WHERE user_id = '9'";
$result = mysql_query($select);
$row = mysql_fetch_Array($result);
echo $row['group_id'];
[/code]
werkt gewoon...
Ik weet 100% zeker dat mijn code niet fout is. Wat dan wel:S?
ik ben nog nooit zo stom geweest.. of misschien wel maar goed;)
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups;
$select = $table->select()->where('user_id = ?', $value);
$row = $table->fetchRow($select);
echo $row->group_id;
[/code]
is de nieuwe
[code]
$value = Zend_Auth::getInstance()->getIdentity()->user_id;
$table = new UserGroups();
$row = $table->fetchRow($table->select()->where( 'group_id = ?', '$value'));
echo $row->group_id;
[/code]
Gewijzigd op 01/01/1970 01:00:00 door Thijs Damen
Er zijn nog geen reacties op dit bericht.