【问题标题】:Avoid substract (-) on number string MYSQL PHP [duplicate]避免数字字符串MYSQL PHP上的减法(-)[重复]
【发布时间】:2015-09-04 17:19:42
【问题描述】:

我有一个 PHP 字符串

$string = "1167-07-04";
// Yes, looks like a DATE but it´s not.

我正在尝试更新一个 MYSQL 字段 (varchar)

$sql = "UPDATE table SET `field1` = $string";

但是... 问题是使减法并将值设为 1156。 我需要输入 1167-07-04

有人知道怎么做吗? 非常感谢。

【问题讨论】:

  • 这是一个字符串,用引号括起来。
  • 您应该使用准备好的语句而不是依赖字符串插值来创建您的 sql 语句。此代码易受 SQL 注入攻击

标签: php mysql


【解决方案1】:

没有任何说教的简单答案是所有字符串值,即使在变量中应该用引号括起来。那是引号而不是反引号。

$sql = "UPDATE table SET `field1` = '$string'";

【讨论】:

    【解决方案2】:

    首先,您需要查看prepared statements。请,为了软件的热爱,take a look at prepared statements!!其次,你的值是一个字符串,所以你需要在它周围加上一些单引号。看起来你有很多关于查询的知识,所以这里有两个 PHP 入门链接:

    MySQLi:http://php.net/manual/en/book.mysqli.php

    PDO:http://php.net/manual/en/book.pdo.php

    我强烈建议您花时间选择这些扩展程序之一,并花时间好好学习它们。在 Web 应用程序中使用数据库时,没有捷径可走。

    【讨论】:

    • 你是完全正确的。我这周完成的大量编程显然让我变成了一个白痴。让我更新一下
    猜你喜欢
    • 1970-01-01
    • 2011-07-01
    • 2014-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多