2013-08-17 4 views
5

Что я здесь делаю неправильно. Я следил за многими примерами, но, похоже, не мог заставить это работать. У меня есть 2 таблицыMySQLI Inner Join 2 Tables

Таблица => пользователи

user_id 
user_name 
user_email 
user_password 
user_country 
user_dobdate 
user_company 
user_code 
user_status 
user_type 

Таблица => Приложения

apply_id 
apply_from 
apply_leave_type 
apply_priority 
apply_start_date 
apply_end_date 
apply_halfday 
apply_contact 
apply_reason 
apply_status 
apply_comment 
apply_dated 
apply_action_date 

SQLI QUERY

$query = $db->select("SELECT users.user_id, app.apply_from FROM users INNER JOIN applications ON users.user_id = app.apply_from WHERE users.user_code='1'"); 
$rows = $db->rows(); 
foreach ($rows as $apply){ 
$apply_id = $apply['apply_id']; 
$apply_from = $apply['apply_from']; 

Сообщение об ошибке

Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in xxxxxxxxxxxxxxx line 26 
+0

Нет, это неправильный ответ. Что-то не так с SQL QUERY ... – user1772571

+0

где вы используете mysqli_num_rows()? –

+0

Да. КАЖДЫЙ раз любая mysql * -функция жалуется на то, что не получает ресурс, но логический, запрос SQL не выполнен и нуждается в проверке. ЭТО КАК ЕЩЕ КАЖДЫЙ ВРЕМЯ. – Sven

ответ

4

Ваш запрос;

SELECT users.user_id, app.apply_from 
FROM users 
INNER JOIN applications 
    ON users.user_id = app.apply_from 
WHERE users.user_code='1' 

... использует псевдоним app для таблицы application, но не объявляет его.

INNER JOIN applications app 
+2

Удивительно, что это работает как шарм. Спасибо, Dude You Awesome !! – user1772571

2

Put аббревиатура 'приложение' для applications таблицы:

SELECT 
    users.user_id, 
    app.apply_from 
FROM 
    users 
INNER JOIN 
    applications AS app 
ON 
    users.user_id = app.apply_from 
WHERE 
    users.user_code='1' 
3

Вы пропустили имя псевдонима для таблицы applications в app в join. Попробуйте выполнить следующие действия:

SELECT users.user_id,app.apply_from 
FROM users 
INNER JOIN applications app ON users.user_id = app.apply_from 
WHERE users.user_code='1'