Nova is correct: we did the amnesty thing and absolutely nothing changed. The people who complied with the amnesty terms got away with jumping the line over many thousands of much more law-abiding applicants and when the last amnesty-seeker had been processed, there were thousands of new illegal aliens crossing the border.
The only way to really get at the root of this problem is to undermine the welfare state (for both illegal aliens and citizens). When some of the largess dries up, the low-skill McJob starts to become more attractive. If we cracked down on employers with jail time for employing illegal aliens while simultaneously getting rid of the wage suppression caused by illegal labor, we will have a way to employ our own numerous low-skill citizens.
This is not 1880. We do not have millions of low-skill agricultural and industrial jobs on offer. Yes, we'll end up paying more for service-sector goods but that's life in the big city. At least you can choose whether or not you voluntarily buy those services. We'll make up the money on the back-end by reducing a chunk of the welfare payouts.