簡體   English   中英

PDO創建表不起作用

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM