I have three tables: adapters, connectors, components
I need to be able to search them all to find a corresponding Part Number (part_num)
The part number is unique so I don’t have to worry about multiple entries.
I use GET to find the part number in the URL, set it to $num, and then do the SELECT
What I’ve found is that I should use UNION, however the three tables have different columns and it gives me an error when trying to do the select. In the example below
Using UNION to find references from other tables
This is my code:
if(isset($_GET['num'])) {
$num = $_GET['num'];
$result = mysql_query("SELECT * FROM connectors WHERE part_num = '$num' UNION SELECT * FROM adapters WHERE part_num = '$num' UNION SELECT * FROM components WHERE part_num = '$num'"); }
Any help would be appreciated, so thanks in advance SO =)
You should probably have a fourth table
Partsthat identifies to which type table eachpart_numhas been allocated. However, without that, you could still get what you’re after with outer joins (wasteful though):Note that I have used
?as you really should be using prepared statements: if you don’t know why, or what they are, read about Bobby Tables.