[英]PDO Create table not working
只是在使用PDO插入新表时遇到麻烦。 我得到的错误是:
SQLSTATE [42000]:语法错误或访问冲突:1064 SQL语法有错误; 请检查与您的MySQL服务器版本相对应的手册,以找到在“ 25500”附近使用的正确语法(
id
INT(11)NOT NULL AUTO_INCREMENT,date
TIMESTAMP NOT NULL DEFAUL)在第149440行不存在!
请注意,$ id是表名。
function createTable($dbh, $id, $description)
{
try {
$stmt = "CREATE TABLE '$id' (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`prodtitle` VARCHAR(50) NOT NULL ,
`unitsize` VARCHAR(10) NOT NULL ,
`price` VARCHAR(10) NOT NULL ,
`wasprice` VARCHAR(10) NOT NULL ,
`specprice` VARCHAR(10) NOT NULL ,
PRIMARY KEY (`id`) ) COMMENT = '$description'";
if($dbh->exec($stmt) !== false) echo 'The sites table is created';
}
catch (PDOException $e) { echo $e->getMessage();
}
}
它一定很简单,但我无法选择。
TableName不应用单引号引起来,因为它不是字符串文字。 尝试使用反引号更改单引号,
$stmt = "CREATE TABLE `$id` (
`id` INT(11) NOT NULL AUTO_INCREMENT,
`date` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP ,
`prodtitle` VARCHAR(50) NOT NULL ,
`unitsize` VARCHAR(10) NOT NULL ,
`price` VARCHAR(10) NOT NULL ,
`wasprice` VARCHAR(10) NOT NULL ,
`specprice` VARCHAR(10) NOT NULL ,
PRIMARY KEY (`id`) ) COMMENT = '$description'"
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.