Друзья, я новичок в мире программирования php и баз данных. Я прошу прощения, если я не смогу хорошо общаться с использованием правильной терминологии.Mysql error Неизвестный столбец, где статья
Таблица 1
Id | name | lastName | age =============================== 1 | Jane | Kot | 20 2 | Ann | Ama | 17
Таблица 2
Id | lastName | bonus | sex ============================== 1 | kot | 50% | male 2 | Jack | 20% | male
Я хочу, чтобы объединить эти две таблицы, где это table1.lastName = table2.lastName
. На приведенной выше иллюстрации я бы с нетерпением ожидал, что «1 Джейн 20 (все из таблицы 1) 1 50% мужчин (все из таблицы2) вернулись. Но я бы выбрал для отображения какого-либо из данных, гипер-связав его, чтобы отобразить все записи в другой странице с помощью общего поля (LastName)
Примера: Джейн, отображаемое в page1.php
, при нажатии покажет комбинированную запись в page2.php
. Джейн (теперь гиперссылка в page1.php
) --------- нажата ---------> 1 Джейн 20 1 50% мужчина (отображается в page2.php
) Пожалуйста, помогите мне. Прошу прощения за мой плохой способ выразить свою проблему. Благодаря
КОД ДЛЯ PAGE1.PHP
$sql = "SELECT * FROM table1, table2 WHERE table1.lastname = table_2.lastname";
$result = mysql_query ($sql);
while ($row = mysql_fetch_array($result)) {
echo '<table border="1">';
echo '<tr>';
echo '<td>'. $row['name'].'<br>'.'</td>';
echo '<td><a href="page2.php? lastName=' . $row['lastName'] . '">VIEW DETAILS</a></td>';
echo'</tr>';
echo'</table>';
}
?>
КОД ДЛЯ PAGE2.PHP
$lastName = mysql_real_escape_string($_GET['lastName']);
$sql =mysql_query ('SELECT name, age, bonus, sex FROM table_1 c join table_2 f on c.lastname = f.lastname where c.lastname = $lastname ')
or die(mysql_error());
$result = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($result);
while ($row) {
// Echo page content
echo $row['name'].'<br>';
echo $row['age'];
echo $row['sex'];
echo $row['bonus'];
}
?>
Когда я нажал на "View Details" в page1.php
, я получаю эту ошибку Unknown column '$lastname' in 'where clause'
У вас есть право собственности на эти таблицы (то есть, вы создаете схему базы данных, или это уже существующие базы данных? –
Ник Бейли. Спасибо за ваше беспокойство. Я уже иметь базу данных на моей локальной машине. Мне просто нужно использовать page1.php как masterPage, чтобы отображать содержимое двух таблиц на странице 2 (другая страница, на которую я могу вызвать страницу «Подробно»), используя одну из возвращаемых данных на стр. 1 как ссылка – Leo
Я бы порекомендовал, если вы только начинаете с MySQL/PHP, очень важно изучать MySQLi или PDO с PHP, поскольку стандартный MySQL небезопасен и устарел, а два новых варианта s выше - гораздо более надежный и улучшенный способ программирования. – Martin