如何在MySQL中使用PHP创建新表?

时间:2011-06-20 13:53:24

标签: php database foreach pdo

我有一个循环,通过各种产品导入。在这个循环中,我还有一个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 个答案:

答案 0 :(得分:1)

PHP有一个对象可以帮助你创建一个表,并有一个额外的参数“IF NOT EXISTS”,上面写着“如果表不存在,那就创建它”。

以下是代码语法:

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 ;