Можно ли в mysql запросе вместо таблицы указать переменную php?
Eсли можно, то как?
"SELECT name FROM '$table' WHERE id='$i'"
Не работает.
Использовать переменные можно, в вашем случае скорее всего ошибка в синтаксисе самом MySQL, название таблицы нужно оборачивать в другой символ - `,а не в одинарную ковычку '.
В символ ' оборачивают значения.
А вот в символ ` оборачивают названия колонок и таблиц.
Ваш запрос должен выглядеть вот так:
"SELECT `name` FROM `$table` WHERE `id`='$i'"
Но учтите что это не безопасно, используйте PDO для запросов к базе данных, к примеру ваш запрос выглядел бы правильно вот так:
$dbh = new PDO("mysql:host=$host;port=3306;dbname=$db;user=$user;password=$pass");
$sth = $dbh->prepare("SELECT `name` FROM `$table` WHERE `id` = :id");
$sth->bindValue(':id', $id, PDO::PARAM_INT);
$sth->execute();
$result = $sth->fetch(PDO::FETCH_ASSOC);
Сборка персонального компьютера от Artline: умный выбор для современных пользователей