gpt4 book ai didi

php - 不使用 PDO 创建表

转载 作者:行者123 更新时间:2023-11-30 22:12:14 24 4
gpt4 key购买 nike

我有一个 sql 命令,我正在尝试使用 PDO 执行它,它确实执行了,但是没有创建表。我不知道我做错了什么。我环顾了互联网,看看是否还有其他人遇到过这个问题,但我似乎并没有真正找到任何解决办法。这是 SQL 命令

CREATE TABLE table_230
(
id VARCHAR(255),
cost VARCHAR(255),
title VARCHAR(255) NOT NULL,
package_quantity VARCHAR(255) NOT NULL,
package_cost VARCHAR(255) NOT NULL,
asin VARCHAR(15) NOT NULL,
rank VARCHAR(20) NOT NULL,
category VARCHAR(255) NOT NULL,
bb_price VARCHAR(255) NOT NULL,
seller_type VARCHAR(255) NOT NULL,
size_tier VARCHAR(255) NOT NULL,
amazon_fee VARCHAR(255) NOT NULL,
roi VARCHAR(255) NOT NULL,
parent_asin VARCHAR(255) NOT NULL,
complete TINYINT(1) DEFAULT 0
)

当我尝试执行该命令时,该命令在 PHPMyAdmin 中运行,但当我使用 PDO 时它不起作用。我使用的代码如下所示:

$create = $this->dbConnection->prepare("
CREATE TABLE IF NOT EXISTS table_" . $tableId ."
(
id VARCHAR(255),
cost VARCHAR(255),
title VARCHAR(255) NOT NULL,
package_quantity VARCHAR(255) NOT NULL,
package_cost VARCHAR(255) NOT NULL,
asin VARCHAR(15) NOT NULL,
rank VARCHAR(20) NOT NULL,
category VARCHAR(255) NOT NULL,
bb_price VARCHAR(255) NOT NULL,
seller_type VARCHAR(255) NOT NULL,
size_tier VARCHAR(255) NOT NULL,
amazon_fee VARCHAR(255) NOT NULL,
roi VARCHAR(255) NOT NULL,
parent_asin VARCHAR(255) NOT NULL,
complete TINYINT(1) DEFAULT 0
)");
if($create->execute() === true)
{
return true;
}

它总是返回真。如果有人能帮助我,我将不胜感激!

最佳答案

首先设置你的连接:

$mysql_host = "servername";
$mysql_database = "dbname";
$mysql_user = "username";
$mysql_password = "pass";


try{
$conn = new PDO(
"mysql:dbname=" . $mysql_database .
";host=" . $mysql_host .
";charset=utf8" ,
$mysql_user ,
$mysql_password ,
array( //
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::MYSQL_ATTR_INIT_COMMAND => "SET NAMES utf8"
)
);

}catch(PDOException $e){
echo $e->getCode();

}

然后查询:

$tableId=$conn->lastInsertId();
$create = $conn->prepare("
CREATE TABLE IF NOT EXISTS table_" . $tableId ."
(
id VARCHAR(255),
cost VARCHAR(255),
title VARCHAR(255) NOT NULL,
package_quantity VARCHAR(255) NOT NULL,
package_cost VARCHAR(255) NOT NULL,
asin VARCHAR(15) NOT NULL,
rank VARCHAR(20) NOT NULL,
category VARCHAR(255) NOT NULL,
bb_price VARCHAR(255) NOT NULL,
seller_type VARCHAR(255) NOT NULL,
size_tier VARCHAR(255) NOT NULL,
amazon_fee VARCHAR(255) NOT NULL,
roi VARCHAR(255) NOT NULL,
parent_asin VARCHAR(255) NOT NULL,
complete TINYINT(1) DEFAULT 0
)");
if($create->execute() === true)
{
return true;
}

此代码有效。您确定您的 $tableId 变量具有预期值吗?你应该 var_dump($tableId) 看看里面有什么!

关于php - 不使用 PDO 创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39711806/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com