【发布时间】:2014-04-21 15:04:47
【问题描述】:
使用 PHP/PDO 我试图设置一个名为“flt_status”的 MySQL (mysql-5.0.96) 变量,其默认设置为“NULL”,定义为 INT(5),可为空,为 NULL。
StackOverFlow (11692773, 1391777) 上有许多讨论这个主题的主题,但它们似乎都不适合我。
我的(非常简略的)代码如下所示;
$vs = “:ip, flt_status, sunrise”;
$match = array(
‘:ip’=>”$ip”,
‘:flt_status’=>”null, PDO::PARAM_INT”,
’:sunrise’=>”$sunrise”
);
$vars = “ip, flt_status, sunrise”;
$sql = "INSERT INTO skeds ( $vars ) VALUES ( $vs )";
$query = $db_found->prepare( $sql );
$query->execute( $match );
我尝试了上述讨论中概述的一些技术以及我使用 Google 发现的其他技术,但每次 flt_status 的值都为零 (0)。我试过同时使用 PDO::PARAM_NULL 和 PDO::PARAM_INT。
我在这个例子中包含了 IP 和 SUNRISE 变量,这样我就可以更好地理解那些更有经验的 PHP/PDO 程序员给我的例子。
谁能告诉我我做错了什么?
提前感谢您提供的任何帮助。
【问题讨论】:
-
您在此处提供的示例代码中使用的
“,是"(双引号)还是其他? -
我个人已经注意到,如果我将 NULL 分配给查询中的字段,它不能用引号引起来,否则它将被设置为字符串。但是,field=NULL 往往对我有用。