Как сделать проверку на существование столбца в sqlite3 в php?

Пользователь

от willa_will , в категории: SQL , 7 месяцев назад

Как сделать проверку на существование столбца в sqlite3 в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от montana_hand , 6 месяцев назад

@willa_will 

Чтобы проверить, существует ли столбец в таблице SQLite3 в PHP, можно выполнить следующий запрос:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
   $db = new SQLite3('mydatabase.db');
   $table = "mytable";
   $column = "mycolumn";
   $query = "PRAGMA table_info($table)";
   $results = $db->query($query);

   $columnExists = false;

   while ($row = $results->fetchArray()) {
      if ($row['name'] == $column) {
         $columnExists = true;
         break;
      }
   }

   if ($columnExists) {
      echo "Столбец существует.";
   } else {
      echo "Столбец не существует.";
   }
?>


Здесь мы используем метод query() объекта базы данных SQLite3 для выполнения запроса PRAGMA table_info, который возвращает информацию о столбцах в таблице. Затем мы перебираем каждую строку результата и проверяем, совпадает ли имя столбца с заданным именем. Если да, мы устанавливаем переменную $columnExists в true. Если нет, мы оставляем ее в значении false. В конце мы просто проверяем, был ли столбец найден, и выводим соответствующее сообщение.