Использование php переменных в mysql

286
11 июня 2017, 19:23

Можно ли в mysql запросе вместо таблицы указать переменную php?

Eсли можно, то как?

"SELECT name FROM '$table' WHERE id='$i'"

Не работает.

Answer 1

Использовать переменные можно, в вашем случае скорее всего ошибка в синтаксисе самом 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);
READ ALSO
PHP цикл для элементов HTML

PHP цикл для элементов HTML

Здравствуйте!

203
вопрос про массив php

вопрос про массив php

Здравствуйте, я выбираю из бд данные и помещаю их в массив кодом:

224
Как сделать, чтоб select работал в регистрации

Как сделать, чтоб select работал в регистрации

Выдает ошибку, что надо поменять? input нету, так как это опции

300
Регистрация в VK через API

Регистрация в VK через API

Добрый деньНеоднократно натыкался в интернете на программы которые позволяют регистрировать аккаунты для вк в автоматическом режиме

180