2013-08-17 27 views
5

私はここで間違っています。私は多くの例を踏襲してきましたが、これを得ることはできません。 私は2つのテーブルMySQLI内部結合2テーブル

表=>ユーザー

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 
01を持っています
+0

いいえ、それは正解ではありません。 SQLクエリーに何か問題があります... – user1772571

+0

mysqli_num_rows()をどこで使用していますか? –

+0

はい。どのmysql * -function関数もリソースを取得しないことについて不平を言いますが、ブール値では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' 

は...テーブルapplicationの別名appを使用しますが、それを宣言しません。

INNER JOIN applications app 
+2

これは魅力的な作品です。ありがとうDudeあなたは素晴らしいです! – user1772571

2

入れ略語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

あなたはjoinappとして表applicationsの別名を逃しました。以下を試してください:

​​
関連する問題