Database Problems

From: Date: Sun, 17 Jun 2012 19:06:52 +0000
Subject: Database Problems
Groups: php.db 
Request: Send a blank email to php-db+get-48312@lists.php.net to get a copy of this message
Dear List - I have a database: +---------------------+ | Tables_in_hospital2 | +---------------------+
| Intake3             |
| Visit3              |
+---------------------+ mysql> describe Intake3; +--------+-------------+------+-----+---------+-------+
| Field  | Type        | Null | Key | Default | Extra |
+--------+-------------+------+-----+---------+-------+
| Site   | varchar(6)  | NO   | PRI |         |       |
| MedRec | int(6)      | NO   | PRI | NULL    |       |
| Fname  | varchar(15) | YES  |     | NULL    |       |
| Lname  | varchar(30) | YES  |     | NULL    |       |
| Phone  | varchar(30) | YES  |     | NULL    |       |
| Height | int(4)      | YES  |     | NULL    |       |
| Sex    | char(7)     | YES  |     | NULL    |       |
| Hx     | text        | YES  |     | NULL    |       |
+--------+-------------+------+-----+---------+-------+ mysql> describe Visit3; +--------+--------------+------+-----+---------+----------------+
| Field  | Type         | Null | Key | Default | Extra          |
+--------+--------------+------+-----+---------+----------------+
| Indx   | int(4)       | NO   | PRI | NULL    | auto_increment |
| Site   | varchar(6)   | YES  |     | NULL    |                |
| MedRec | int(6)       | YES  |     | NULL    |                |
| Notes  | text         | YES  |     | NULL    |                |
| Weight | int(4)       | YES  |     | NULL    |                |
| BMI    | decimal(3,1) | YES  |     | NULL    |                |
| Date   | date         | YES  |     | NULL    |                |
+--------+--------------+------+-----+---------+----------------+ mysql> mysql> select * from Intake3 where 1 AND (Site = 'AA') AND (Sex = 'Male') ; +------+--------+---------+-----------+--------------+--------+------+-----------------------------------------------------------------------+
| Site | MedRec | Fname   | Lname     | Phone        | Height | Sex  | Hx                                                                    |
+------+--------+---------+-----------+--------------+--------+------+-----------------------------------------------------------------------+
| AA   |  10003 | Stupid  | Fool      | 325 563-4178 |     65 | Male | Has been convinced by his friends that he is obese. Normal
BMI = 23. |
| AA   |  10000 | David   | Dummy     | 845 365-1456 |     66 | Male | c/o obesity. Various treatments w/o success                           |
| AA   |  10001 | Tom     | Smith     | 984 234-4586 |     68 | Male | BMI =  20.  Thinks he is obese.                                       |
| AA   |  10007 | Foolish | Fool      | 456 147-321  |     60 | Male | Thinks he is thin. BMI = 45                                           |
| AA   |  10005 | Tom     | Obstinant | 845 368-2244 |     66 | Male | Insists that he is not fat.  Becomes violent.  Psych involved.        |
| AA   |  10015 | Dim     | Wit       | 321 659-3111 |     70 | Male | Very Tall                                                             |
| AA   |  10040 | Bongish | Bongish   | 123 456-7890 |     50 | Male | Bong                                                                  |
+------+--------+---------+-----------+--------------+--------+------+--------------------------------------------------------------------- 
The same query in a PHP program will only give me results for MedRec 10003
       $allowed_fields = array
            (  'Site' =>$_POST['Site'], 'MedRec' => $_POST['MedRec'], 'Fname' => $_POST['Fname'], 'Lname' => $_POST['Lname'] ,
             'Phone' => $_POST['Phone'] , 'Sex' => $_POST['Sex']  , 'Height' => $_POST['Height']  );
       if(empty($allowed_fields))
       {
            echo "ouch";
       }
    $query = "select * from Intake3  where  1 ";
    foreach ( $allowed_fields as $key => $val )
    {
        if ( (($val != '')) )
        {
                $query .= " AND ($key  = '$val') ";
        }
    $result1 = mysqli_query($cxn, $query);
    }
Ethan MySQL 5.1 PHP 5.3.3-6 Linux [Debian (sid)]

« previous php.db (#48312) next »