Как создавать новые таблицы с PHP в MySQL? - PullRequest
0 голосов
/ 20 июня 2011

У меня есть цикл, который проходит через различные импортируемые продукты.В этом цикле у меня также есть foreach, который проходит через каждое свойство класса продукта и присваивает значения из файла свойствам текущего экземпляра, которые будут отображаться позже.

while(true)
{
    $currentProduct = new productImport();
    $line = fgets($fileHandle);
    if($line == null)   break;

    $cells=explode('    ', $line);
    $i=0;
    foreach($currentProduct as &$ProductProperty)
    {
        if(isset($cells[$i]))
        {
            $ProductProperty = $cells[$i];
        }
        else return false;
        $i++;
    }
    $AddedProducts[]=$currentProduct;
}
fclose($fileHandle);
return true;

Теперь, когда у меня есть этоработая, я хочу изменить это, чтобы вместо этого создать таблицу, если она еще не существует, на основе одного свойства каждого продукта.В частности, класс продукта содержит значение $ Vendor_Name;

Используя PDO (объекты базы данных PHP), как мне создать новую таблицу с именем $ Vendor_Name, если она не существует, и вместо нее поместить туда значениямассив?

Edit: If it helps, the first value of each instance is a unique key.

1 Ответ

1 голос
/ 20 июня 2011

PHP имеет объект, который поможет вам создать таблицу, и имеет дополнительный параметр «ЕСЛИ НЕ СУЩЕСТВУЕТ», который говорит «если таблица не существует, то создайте ее».

Вот синтаксис кода:

CREATE TABLE IF NOT EXISTS `" . $Vendor_Name . "` (
`media_id` int(11) NOT NULL AUTO_INCREMENT,
`filename` varchar(50) NOT NULL,
`thumb` varchar(50) NOT NULL,
PRIMARY KEY (`media_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...