Вывод данных из двух и более таблиц в php + mysqli
Пишу поиск для сайта. Пытаюсь вывести данные из ДВУХ таблиц базы данных, но получаю ошибку
Fatal error: Uncaught mysqli_sql_exception: Column 'name' in field list is ambiguous in C:\OpenServer\domains\shelter\pages\search.php:26 Stack trace: #0 C:\OpenServer\domains\shelter\pages\search.php(26): mysqli_query() #1 {main} thrown in C:\OpenServer\domains\shelter\pages\search.php on line 26
Понимаю, что проблема в неверном написании запроса $sql. Прошу Вашей помощи. Спасибо.
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "shelter";
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
$connect = mysqli_connect($servername, $username, $password, $dbname);
if (isset($_POST['submit-search'])) {
$search = mysqli_real_escape_string($connect, $_POST['search']);
$sql = "SELECT `name`, `description`, `imagePath` FROM `cats-find-home`, `dog-find-home`
WHERE `name` LIKE '%$search%'
OR `description` LIKE '%$search%'";
$result = mysqli_query($connect, $sql);
$queryResult = $result;
while ($result2 = mysqli_fetch_assoc($result)) {
$name = $result2['name'];
$description = $result2['description'];
$imagePath = $result2['imagePath'];
echo '<div class="item__catalog">';
echo '<a href="#"><img src="' . $imagePath .'">';
echo '<h1>'. $name .'</h1></a>';
echo '</div>';
}
}
Ответы (1 шт):
Написано, что колонка name есть в обеих таблицах и поэтому SQL не знает какой именно тебе нужно, из какой конкретно таблицы. Поэтому следует указать конкретно и точно, например, SELECT cats-find-home.name или если сделать алиасы на таблицы, то через алиасы
типа SELECT u.name FROM users u, где u - псевдоним для таблицы
