Я пытаюсь получить имена столбцов из таблиц, чтобы я мог динамически воссоздавать таблицы на моем веб-сайте. Названия таблиц и имена баз данных являются динамическими и поэтому хранятся в переменных. Мой кодПолучение имен столбцов из моей таблицы базы данных MySQL
function getDBTbldata() {
if (isset ($_GET ['tbl'])) {
$dbName= $_GET['db'];
$tblName = $_GET ['tbl'];
echo "<h3> Using Table : $tblName </h3>";
$link = mysqli_connect ('192.168.2.113', 'root', '', $dbName);
if (! $link) {
die ("Connection failed" . mysqli_errno ($link));
}
$colqry = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = $dbName AND TABLE_NAME = $tblName";
$col_names = mysqli_query ($link, $colqry);
var_dump($col_names);
while ($column = mysqli_fetch_assoc($col_names)){
echo $column[0];
}
}
}
Запуск выше код дает мне следующую ошибку:
mysqli_fetch_assoc() expects parameter 1 to be mysqli_result, boolean given in
Я проверил мой запрос на наличие ошибок синтаксиса, но я не могу определить какие-либо очевидные. Любая помощь?
'echo $ colqry' и запускать sql, выданное echo, либо в phpmyadmin, либо в workbench mysql или в командной строке, копируя его из браузера. – gvgvgvijayan
$ colqry вероятно ошибочно, потому что строковые значения для имен схемы и таблицы не были в кавычках. – kainaw
Большое спасибо, ребята. – b0w3rb0w3r