Mysql как да приложите търсене на ред в две таблици, Mysql

Хакер Здравей,

Въпросът е следващият. Има две таблици (КНИГИ и АВТОР). Първият има полето book_name, а вторият има полето avtor_name.

Как мога да внедря, че ще търси конкретен низ (той ще бъде зададен от потребителя в низа) едновременно в две таблици?

Тоест, потребителят въвежда текст и има избор от ДВЕ таблици, само тези редове, където се среща тази стойност.

Разбирам, че е възможно това да стане чрез JOIN, но нещо не се получава по никакъв начин.

И какво ще намеря, ако търся, да речем, "1') ИЛИ 1=1; пускане на таблици -" без кавички?

ise-dvp ИЗБЕРЕТЕ * ОТ книги ПОРЪЧАЙТЕ СЕ към автор на (books.avtor_ > WHERE (books.book_name LIKE '%".$srch. "%') ИЛИ (avtor.avtor_name LIKE '%".$srch. "%') ORDER BY books.book_name

stopkran Можете също да направите това:

(SELECT 'id', 'book_name' FROM 'books' WHERE 'book_name' LIKE '%%') UNION (SELECT 'id', 'avtor_name' FROM 'avtor' WHERE 'avtor_name' LIKE '%%')

Необходимо е само същият брой полета да се показват във всяка UNION заявка (* няма да работи, ако структурата на таблицата е различна).

ръкохватка Не разбираш. Прочетете повече за SQL Injection.

MapbeBu4 най-добрият отговор Както вече споменахме, трябва да обедините таблици по ключ, най-вероятно тези таблици са свързани. И лявото съединение е неподходящо тук, тъй като в този случай нямате водеща таблица. Заявката е проста, не се занимавайте със синтаксиса на присъединяването, просто напишете: