-1
$bagianWhere = "";
if (isset($_POST['chkBadge']))
{
    $badge_id = $_POST['badge_id'];
    if (empty($bagianWhere))
    {
        $bagianWhere .= "t_emp.badge_id = t_balance.badge_id".
                        "and E.badge_id = '$badge_id'";
    }
}

$query = "SELECT t_emp.badge_id, t_emp.emp_name,
                 t_balance.badge_id, t_balance.balance_amount
          FROM   t_emp, t_balance 
          WHERE  ".$bagianWhere ;

$hasil = mysql_query($query);

while ($data = mysql_fetch_array($hasil))

私のPHPコードで何が起こったのかわかりません。私は一生懸命試しましたが、まだ次のようなエラーの問題に直面しています:

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in ...

どなたかアドバイスお願いします。

4

4 に答える 4

0

私はテストしていませんが、クエリを置き換えます

$query = "SELECT t_emp.badge_id, t_emp.emp_name,
                                    t_balance.badge_id, t_balance.balance_amount
                                    from t_emp, t_balance WHERE 
                        '".$bagianWhere."'" ;
于 2013-08-19T12:14:34.927 に答える
0

以下のように変更します。

1)  $bagianWhere .= " where t_emp.badge_id = t_balance.badge_id and E.badge_id = '$badge_id'";


2)  $query = "SELECT t_emp.badge_id, t_emp.emp_name,
                                        t_balance.badge_id, t_balance.balance_amount
                                        from t_emp, t_balance  
                            ".$bagianWhere ;

あなたの場合、条件が false の場合、クエリは次のようになります。

SELECT t_emp.badge_id, t_emp.emp_name, t_balance.badge_id, t_balance.balance_amount where  from t_emp, t_balance

以下のようにしてみてください:

$bagianWhere = "";
        if (isset($_POST['chkBadge']))
        {
            $badge_id = $_POST['badge_id'];
            if (empty($bagianWhere))
            {
                $bagianWhere .= " where t_emp.badge_id = t_balance.badge_id and E.badge_id = '$badge_id'";
            }
        }

        $query = "SELECT t_emp.badge_id, t_emp.emp_name,
                                    t_balance.badge_id, t_balance.balance_amount
                                    from t_emp, t_balance  
                        ".$bagianWhere ;

                        $hasil = mysql_query($query);
                        while ($data = mysql_fetch_array($hasil))
于 2013-08-19T12:14:46.287 に答える