gpt4 book ai didi

MySQL 的 PHP 变量(SET '$field' = '$value')

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

我正在尝试像这样在 MySQL 查询中使用 PHP 变量:

$field = "name_of_field";
$value = "new_value";
$sql = "UPDATE table SET '$field' = '$value'";

这是行不通的。当我取出 $field var 并只使用它工作的字段名称时。

最佳答案

删除列名两边的引号。

$field = "name_of_field";
$value = "new_value";
$sql = "UPDATE table SET $field = '$value'";

或者使用反引号

$field = "name_of_field";
$value = "new_value";
$sql = "UPDATE table SET `$field` = '$value'";

在列名(和/或表)周围使用反引号确保您没有使用 (mysql) reserved word以及在单词之间使用空格。不鼓励这种做法。

例如:(这里有一些保留字示例)- 尽量不要将这些用于表和/或列名,如果这种情况发生在任何时候 future 。

  • 作为
  • 描述

有关保留字列表,请参阅 mysql.com 上的以下页面:

表格和列的单词之间的空格示例:(使用反引号时)

SELECT `column one` FROM `my table`

这是有效的。

然而,通过使用以下内容

SELECT column one FROM my table

会产生错误。

最好使用下划线而不是连字符( future 开发也应如此)。不鼓励将连字符用作单词分隔符,因为 SQL 会将连字符误解为减号,认为您想解决某种形式的数学问题。


开发时:(使用错误报告)

error_reporting(E_ALL);
ini_set('display_errors', 1);

如果使用 mysqli_ 函数,则如下:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);

MySQL(报错链接)

PDO

关于MySQL 的 PHP 变量(SET '$field' = '$value'),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23574086/

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