【问题标题】:What do these NULLS mean?这些 NULL 是什么意思?
【发布时间】:2013-05-09 04:41:58
【问题描述】:

从微软的这个页面开始; http://msdn.microsoft.com/en-us/library/cc626305.aspx,他们通过展示如何正确构建数组来举例说明如何使用参数化查询。这是示例代码的sn-p:

$params1 = array(
               array($employeeId, null),
               array($changeDate, null, null, SQLSRV_SQLTYPE_DATETIME),
               array($rate, null, null, SQLSRV_SQLTYPE_MONEY),
               array($payFrequency, null, null, SQLSRV_SQLTYPE_TINYINT)
           );

我了解变量和常量,但它们无法解释空值的用途。有时它们被使用,有时它们不被使用,有时有两个;

variable, null, null, constant

谁能给我解释一下,或者给我指出正确的地方?我找不到任何关于此的阅读材料。

谢谢。

【问题讨论】:

  • 当一些东西期望其他东西被传递,而你没有任何东西要传递时,你传递 NULL 代替?
  • 我认为问题是为什么数组之间的参数数量不同。我不知道 - 可能与 sql server 有关。
  • 哦,你去 - 在页面顶部:“有关 $params 数组的结构和语法的详细信息,请参阅 sqlsrv_query 或 sqlsrv_prepare。”

标签: php sql-server-2000 sqlsrv


【解决方案1】:

这类似于调用重载函数。有时该函数需要 2 个参数:

       array($employeeId, null)  

有时是4:

           array($rate, null, null, SQLSRV_SQLTYPE_MONEY)

在这些函数调用中放置 null 通常意味着没有值。如果您查看从中调用的不同查询/函数,您很可能会看到参数以不同的方式使用。此外,传递给函数的 null 意味着它将是一个可选参数,这就是为什么它以无值或 null 的形式出现。

【讨论】:

  • 感谢您的详尽回答。正如@sgroves 上面提到的,我访问了页面顶部的链接,把我带到了这里msdn.microsoft.com/en-us/library/cc296184.aspx。看起来这些额外的点似乎是用来告诉司机变量的走向……然而,这对我来说仍然没有意义。如果您可以解释这一点并编辑您的答案,我当然会接受。感谢您的宝贵时间!
猜你喜欢
  • 2017-05-25
  • 2013-08-20
  • 2014-12-24
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多