PHP PDO 在函数中执行

发布于 2024-11-07 09:28:54 字数 561 浏览 0 评论 0原文

我已经创建了这个类:

class  data
{
public function del($cat, $id)
{
    global $dbh;

    $del = $dbh->prepare("DELETE FROM :cat WHERE id = :id");
    $del->bindParam(":cat",$cat);
    $del->bindParam(":id", $id);
    $del->execute();
}
}

并且我遇到了将

:cat

变量绑定到语句的问题,如果我不使用 bindParam for

:cat

并只是告诉它我希望它从哪个表中删除它,例如:

$del = $dbh->prepare("DELETE FROM table1 WHERE id = :id");

它有效美好的。

我知道这一定是一些愚蠢的错误,但我一生都无法弄清楚。

I've created this class:

class  data
{
public function del($cat, $id)
{
    global $dbh;

    $del = $dbh->prepare("DELETE FROM :cat WHERE id = :id");
    $del->bindParam(":cat",$cat);
    $del->bindParam(":id", $id);
    $del->execute();
}
}

And I'm running into an issue with binding the

:cat

variable to the statement, if I don't use bindParam for

:cat

and just tell it which table I want it to delete it from, for example:

$del = $dbh->prepare("DELETE FROM table1 WHERE id = :id");

It works fine.

I know it has to be some stupid error, but I can't for the life of me figure it out.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

云之铃。 2024-11-14 09:28:54

看来你想要做的根本不是可能的

It seems what you're trying to do is simply not possible

朱染 2024-11-14 09:28:54

PDO 无法使用表作为参数名称。

堆栈溢出帖子

php.net 帖子

Using table as parameter name is not possible with PDO.

Stack overflow post

php.net post

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文