gpt4 book ai didi

php - 由于点符号,无法在查询中指定我的表名

转载 作者:行者123 更新时间:2023-11-29 06:55:46 25 4
gpt4 key购买 nike

我在以下查询中指定表名时遇到问题。

  $sql = "INSERT INTO db269193_crud.posts (post_title,description) 
VALUES ('" . $title . "','" . $description . "')";

表名是:db269193_crud.posts。由于我的托管提供商,我无法将表名称指定为“posts”。它们只允许我将其与我的数据库名称(db269193)一起指定。

因此表名变为:db269193(dot)posts。然而,这个点在我的编辑器中一直亮起,因为语法不正确。

我需要有人帮助告诉我是否正确指定了表名称,或者是否必须使用变量来隐藏点符号,例如:

$tablename = 'db269193.crud'; 

$sql = "INSERT INTO $tablename (post_title,description)
VALUES ('" . $title . "','" . $description . "')";

最佳答案

您可以将整个名称放在反引号中以进行转义:

INSERT INTO `db269193_crud.posts` (post_title, description) 
VALUES ('" . $title . "', '" . $description . "')

对于您的语句的其余部分,我鼓励您使用参数而不是修改查询字符串。通过在查询中放入随机字符串,您只会引发语法错误和 SQL 注入(inject)攻击。

关于php - 由于点符号,无法在查询中指定我的表名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45733312/

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