multiple tables and correct select statement

multiple tables and correct select statement

am 23.10.2007 16:40:58 von Jason Gerfen

Hello all, I receive an error of the following: The used SELECT
statements have a different number of columns. Any help, pointers,
tutorials are appreciated.

Here are the two tables structure I am trying to pull from:
Table 1
mysql> describe orders;
+------------+--------------+------+-----+---------+-------- --------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------- --------+
| id | int(255) | NO | PRI | | auto_increment |
| ordernum | int(10) | NO | | | |
| date | varchar(60) | NO | | | |
| time | varchar(20) | NO | | | |
| group | varchar(20) | NO | | | |
| purpose | varchar(255) | NO | | | |
| tracking | varchar(120) | NO | | | |
| contact | varchar(255) | NO | | | |
| eta | varchar(50) | NO | | | |
| department | varchar(125) | NO | | | |
| notes | varchar(255) | NO | | | |
+------------+--------------+------+-----+---------+-------- --------+
11 rows in set (0.01 sec)

Table 2
mysql> describe order_items;
+-------------+---------------+------+-----+---------+------ ----------+
| Field | Type | Null | Key | Default | Extra |
+-------------+---------------+------+-----+---------+------ ----------+
| id | int(11) | NO | PRI | | auto_increment |
| ordernum | int(124) | NO | | | |
| quantity | int(124) | NO | | | |
| description | varchar(124) | NO | | | |
| price | decimal(10,0) | NO | | | |
| partnum | varchar(255) | NO | | | |
| vendor | varchar(255) | NO | | | |
+-------------+---------------+------+-----+---------+------ ----------+
7 rows in set (0.00 sec)

And here is the statement I am using (PHP):
$query = "( SELECT * FROM `orders` WHERE ( `ordernum` LIKE "$var\" OR
`purpose` LIKE \"$var\" OR `tracking` LIKE \"$var\" OR `contact` LIKE
\"$var\" OR `date` LIKE \"$var\" OR `time` LIKE \"$var\" OR `eta` LIKE
\"$var\" OR `department` LIKE \"$var\" OR `notes` LIKE \"$var\" ) AND
`group` = \"$group\" ) UNION ( SELECT * FROM `order_items` WHERE (
`ordernum` LIKE \"$var\" OR `price` LIKE \"$var\" OR `partnum` LIKE
\"$var\" OR `vendor` LIKE \"$var\" OR `quantity` LIKE \"$var\" OR
`description` LIKE \"$var\" ) ORDER BY `ordernum` )";

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Re: multiple tables and correct select statement

am 23.10.2007 17:01:47 von Goltsios Theodore

In order to find out what is wrong with your query you could use
exceptions. A sample code could be:

try {
$query= ...
...........
}
catch (Exception $e){
$errmsg = $e->getMessage();
print $errmsg;
}

This will print out the reason that mysql has for failing your code. An
obvious statement is that you should try to execute your queries using
the command line client or any other that you use before putting it in
use in order to find out what's wrong.

--
Thodoris


O/H Jas ??????:
> Hello all, I receive an error of the following: The used SELECT
> statements have a different number of columns. Any help, pointers,
> tutorials are appreciated.
>
> Here are the two tables structure I am trying to pull from:
> Table 1
> mysql> describe orders;
> +------------+--------------+------+-----+---------+-------- --------+
> | Field | Type | Null | Key | Default | Extra |
> +------------+--------------+------+-----+---------+-------- --------+
> | id | int(255) | NO | PRI | | auto_increment |
> | ordernum | int(10) | NO | | | |
> | date | varchar(60) | NO | | | |
> | time | varchar(20) | NO | | | |
> | group | varchar(20) | NO | | | |
> | purpose | varchar(255) | NO | | | |
> | tracking | varchar(120) | NO | | | |
> | contact | varchar(255) | NO | | | |
> | eta | varchar(50) | NO | | | |
> | department | varchar(125) | NO | | | |
> | notes | varchar(255) | NO | | | |
> +------------+--------------+------+-----+---------+-------- --------+
> 11 rows in set (0.01 sec)
>
> Table 2
> mysql> describe order_items;
> +-------------+---------------+------+-----+---------+------ ----------+
> | Field | Type | Null | Key | Default | Extra |
> +-------------+---------------+------+-----+---------+------ ----------+
> | id | int(11) | NO | PRI | | auto_increment |
> | ordernum | int(124) | NO | | | |
> | quantity | int(124) | NO | | | |
> | description | varchar(124) | NO | | | |
> | price | decimal(10,0) | NO | | | |
> | partnum | varchar(255) | NO | | | |
> | vendor | varchar(255) | NO | | | |
> +-------------+---------------+------+-----+---------+------ ----------+
> 7 rows in set (0.00 sec)
>
> And here is the statement I am using (PHP):
> $query = "( SELECT * FROM `orders` WHERE ( `ordernum` LIKE "$var\" OR
> `purpose` LIKE \"$var\" OR `tracking` LIKE \"$var\" OR `contact` LIKE
> \"$var\" OR `date` LIKE \"$var\" OR `time` LIKE \"$var\" OR `eta` LIKE
> \"$var\" OR `department` LIKE \"$var\" OR `notes` LIKE \"$var\" ) AND
> `group` = \"$group\" ) UNION ( SELECT * FROM `order_items` WHERE (
> `ordernum` LIKE \"$var\" OR `price` LIKE \"$var\" OR `partnum` LIKE
> \"$var\" OR `vendor` LIKE \"$var\" OR `quantity` LIKE \"$var\" OR
> `description` LIKE \"$var\" ) ORDER BY `ordernum` )";
>
>

--
PHP Database Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php