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