gpt4 book ai didi

php - 使用 PDO 创建表 - 不工作

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:24 26 4
gpt4 key购买 nike

我知道有几个线程与此有关,但我已经仔细研究过它们但尚未找到解决方案。

我遇到的问题是,当我执行我的代码以使用 PHP 的 PDO 对象创建表时,没有任何反应。我没有收到错误,但我也没有收到表格。

这是我的代码:

    $pdo = new pdo('mysql:localhost;ijdb','root','');
try {
$sql = 'CREATE TABLE joke
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL
) DEFAULT CHARACTER SET utf8 ENGINE=InnoDB';
$pdo->exec($sql);
$sql = 'INSERT INTO joke values
(
(1,"jokes","2014-04-22")
)';
$pdo->exec($sql);
}
catch (PDOException $e) { $output = 'Error creating joke table: ' . $e->getMessage();
exit(); }

正如我所说,没有任何事情发生,表没有创建。

任何帮助将不胜感激!如果这是重复的帖子,请指出正确的方向,我会删除这篇帖子。

最佳答案

如果你想完成这项工作,请执行以下操作:

旁注:这将为相同的 jokes2014-04-22 创建一个新的数据条目.

如果您不想继续添加相同的内容,请使用
设置一个新的查询以及一个单独的脚本 (PDO with) prepared statements .和/或将您的列设置为 UNIQUE

注意:INSERT 中应省略 1,因为您的 id 列是 AUTO_INCREMENT

try {

$pdo = new pdo('mysql:host=localhost;dbname=your_db', 'username', 'password_if_any');
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

$sql = "CREATE TABLE IF NOT EXISTS joke
(
id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
joketext TEXT,
jokedate DATE NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;

INSERT INTO joke (joketext, jokedate) values ('jokes','2014-04-22')";

$pdo->exec($sql);

}
catch (PDOException $e) {

$output = 'Error creating joke table: ' . $e->getMessage();

echo $output;
exit();
}

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

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