gpt4 book ai didi

php - 为什么这个 PHP/SQL 不创建表?

转载 作者:行者123 更新时间:2023-11-29 14:30:31 25 4
gpt4 key购买 nike

<?php
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$sql = $DBH->exec("
CREATE TABLE `store_config` (
store_name varchar(30),
last_update date)
");
} catch (PDOException $e) {
echo "Could not connect to database.";
$DBH = null;
}
?>

未抛出 PDOException,可能存在 SQL 错误,但我不知道如何检索该错误,并且当我使用 phpMyAdmin 检查数据库时,没有创建任何表。我做错了什么?

感谢您的阅读。

编辑:当我直接在 phpMyAdmin 中执行相同的 SQL 代码时,它给出了权限被拒绝错误...

1142 - 拒绝向用户“$user”@“$my_ip”创建表“store_config”的 CREATE 命令

我很困惑,因为当我使用网络主机 Web 表单创建用户时,它没有给我授予任何权限的选项,而只是让该用户成为数据库所有者 - 这是我必须做的吗?

编辑:

我向我的用户帐户授予了“DBO 访问权限”,现在可以使用(表已创建)。

感谢您的评论。

最佳答案

试试这个。它应该为您提供您正在寻找的错误,并告诉您发生了什么。

<?php
try {
$DBH = new PDO("mysql:host=$host;dbname=$dbname", $user, $pass);
$sql = $DBH->exec("
CREATE TABLE `store_config` (
store_name varchar(30),
last_update date)
") or die(print_r($DBH->errorInfo(), true));
} catch (PDOException $e) {
echo "Could not connect to database.";
$DBH = null;
}
?>

关于php - 为什么这个 PHP/SQL 不创建表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10114134/

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