2013-02-17 2 views
3

Я создаю панель администратора сайта. Когда администратор вводит категорию, таблица имя той же категории создается в базе данных, поля - все та же. in запуск admin вводит много категорий. то как я могу проверить, что таблица уже создана в базе данных .. потому что все таблицы пустые. для этогоКак проверить пустую таблицу уже в базе данных

я пытаюсь этот код

 <?php $con = mysql_connect("localhost","root",""); 
    if (!$con) 
    {die('Could not connect: ' . mysql_error());} 
    $sql="SELECT * FROM admin";//(for trial im a changing the name manuaaly) 

    [email protected]_query($sql); 

    if (!$result) 

     { 
     echo "No table exists"; 
    } 
     else 
     { 
    echo "yes"; 
    } 
    ?> 

, но в этом его всегда показывают «таблица не существует», если таблица в БД .. как я могу решить эту проблему ..

+0

http://stackoverflow.com/questions/9008299/check-if-mysql-table-exists -or-not – kufudo

+1

Пожалуйста, не используйте 'mysql_ *' функции для нового кода. Они [устарели] (http://php.net/manual/en/intro.mysql.php). Используйте [подготовленные утверждения] (http://goo.gl/vn8zQ) с помощью [PDO] (http://php.net/pdo) или [MySQLi] (http://php.net/mysqli). – peterm

+0

Ваша логика в корне ошибочна. пустой стол CAN и существуют. проверка наличия строк в таблице ничего не значит. если таблица не существует, вы получите ошибку запроса (например, mysql_query возвращает false и код ошибки 1146, а не «никакие строки не найдены» –

ответ

3

Не создать отдельную таблицу для каждой категории!
Сделайте один со всеми наборами полей и одним с названием категории (или идентификатором категории, зависит от схемы базы данных).

Это самые основы работы баз данных.

Таким образом, вы должны просто запустить регулярный запрос, чтобы проверить, если такое название категории уже существует:

SELECT id FROM categories WHERE name = 'name to check'; 
+0

да, сэр, я могу использовать SELECT id FROM категорий WHERE name = 'name to check'; этот метод..быстро сохранить все записи в одной таблице .. тогда все записи происходит более 10000. Тогда в этом случае это влияет на запрос mysql. – omnath

Смежные вопросы