Re: multiple tables and correct select statement
| From: | Thodoris | Date: | Tue, 23 Oct 2007 15:01:47 +0000 |
| Subject: | Re: multiple tables and correct select statement | ||
| References: | 1 | Groups: | php.db |
| Request: | Send a blank email to php-db+get-44256@lists.php.net to get a copy of this message | ||
In order to find out what is wrong with your query you could use exceptions. A sample code could be:
try {
$query= ...
..........<your code>
}
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 )";
>
>