Выберите * из имени таблицы, возвращенного из $ q = intval ($ _ GET ['q']); - PullRequest
0 голосов
/ 03 апреля 2020

Возможно, я делаю это нелегко, но у меня есть 2 таблицы, в одной из которых перечислены категории с присвоенным каждому ID, и каждая отдельная таблица категорий имеет имя id, поэтому при запросе GET я пытаюсь получить данные, используя Ajax, PHP и MySQLi. Я понял это, за исключением вызова переменной в имени таблицы. Я немного отстой в объяснении, поэтому позвольте мне пробормотать вместе с моим кодом.

Таблица категорий размещена в поле выбора со значением ID, заданным для опции, и передана на 2-ю страницу php , getcat. php? q = cat_name, например. Я ввожу q в getcat. php, используя просто.

$q = intval($_GET['q']); 

Очевидно, что SELECT * FROM $ q было бы слишком просто, поэтому я пробовал это, но не уверен, как разобрать его в PHP или действительно использовать.

 <?php
 $q = intval($_GET['q']);

  $con = mysqli_connect('localhost','user','pass','maindb');
 if (!$con) {
die('Could not connect: ' . mysqli_error($con));
 }

Это отлично работает.

Но после этого я понятия не имею. Я попробовал это, но безуспешно.

 SET @cname:=intval($_GET['q']);

  SET @sql_text = concat('select * from (''%',@cname,'%'') where id = ?');

 PREPARE stmt FROM @sql_text;
  EXECUTE stmt;
  DEALLOCATE PREPARE stmt;

Я пробовал запускать запросы в PhpMyAdmin, но тоже не повезло. Полностью застрял Я пробовал DELIMITER, почти все, что искал, но я столкнусь с этим, я потерян.

Вся помощь приветствуется. Спасибо, любезно.

...