【问题标题】:PHP value null into sql server insert statementPHP值null到sql server insert语句
【发布时间】:2015-11-22 01:56:46
【问题描述】:

我想将值NULL 插入到 sql server 表中。

$value = $_POST['value'];

then PDO with (INSERT .... :value.....)

execute(array(':value' => "$value")); 但是当 html 输入字段为空时,我在 sql 上得到了空字段,但我想看到NULL 我试过了

if ($_POST['value'] ==''){$value = NULL;}else{....}

但什么也没发生。

我的 sql 表是这样的:

[field] [varchar](20)  NULL,

【问题讨论】:

  • execute 语句中,您不需要在$value 周围加上引号。您可以删除这些并重试吗?
  • 字段必须接受空值并且它必须没有默认值...然后插入一条新记录而不给该字段任何值..它将自动为空
  • 很想在管理工作室改变这一点?

标签: php sql sql-server pdo


【解决方案1】:

关于一般准备好的语句中的NULL 值: 实际绑定到语句中的任何NULL总是NULL 发送到数据库.没有例外。

例子:

$stmt = $db->prepare("SELECT isnull(?)");
$stmt->execute(array(NULL));
var_dump($stmt->fetchColumn());
// string(1) "1"

关于您的特定代码,正如 cmets 中指出的那样,您的问题是由错误的语法引起的。在 PHP 中,变量必须不带引号。 PHP 中使用引号来分隔字符串。同样,变量必须在不带引号的情况下处理。

【讨论】:

  • 除非他将其转换为字符串:':value' => "$value"
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-12
相关资源
最近更新 更多