dan*_*iel 2 zend-framework inner-join zend-db mysql-error-1052
我有以下代码:
$selectColumns= array('user_id.user_email',
'user_details.first_name',
'user_details.last_name',
'user_details.zip',
'user_details.store_id');
$result = $handle->select()->from('user_id')
->where('uid=?', $uid)
->columns($selectColumns)
->join('user_details', 'user_id.uid = user_details.uid')
->query(ZEND_DB::FETCH_OBJ);
Run Code Online (Sandbox Code Playgroud)
运行后,我收到以下错误:
Uncaught exception 'Zend_Db_Statement_Exception' with message 'SQLSTATE[23000]: '
Integrity constraint violation: 1052 Column 'uid' in where clause is ambiguous
Run Code Online (Sandbox Code Playgroud)
我一直想弄清楚我做错了什么.有帮助吗?
问题在于uid=?你的WHERE条款.由于uid列在两个表中user_id,user_detailsMySQL无法确定您真正想要使用哪个列.你必须这样做
// [...]
->where('user_id.uid=?', $uid)
// [...]
Run Code Online (Sandbox Code Playgroud)