Mysqli - 日期的正确参数[重复]

Posted

技术标签:

【中文标题】Mysqli - 日期的正确参数[重复]【英文标题】:Mysqli - Correct parameter for date [duplicate] 【发布时间】:2014-04-21 13:07:52 【问题描述】:

mysqli 中使用准备好的语句,并将日期插入 MySQL 数据库时,我应该使用什么参数?

示例代码:

<?php
$db = new mysqli('localhost', 'root', '', 'database');
$date = date("Y-m-d")
$stmt = $db->prepare("INSERT INTO table (date) VALUE (?)");
$stmt->bind_param("WHAT PARAMETER TO USE?", $date); // <--- What parameter?
$stnt->execute();
$stmt->close();
?>

总结:

当使用 MySQLI(行类型为“日期”)插入 MySQL 数据库时,在使用准备好的语句时,哪个参数与 bind_param 一起使用是正确的?它只是字符串的's',还是......?

如果我在上面写了一些糟糕的代码,我会很高兴知道。我是 MySQLi 的新手,很高兴知道我做错了什么。

提前致谢。

【问题讨论】:

如果您想插入当前日期或当前时间,使用 MySQL 函数更容易,如下所示:INSERT INTO table (date) VALUE (NOW()) 其实我知道这一点。但这不是我要找的。​​span> 【参考方案1】:

您可以使用“s”,这可以用于日期、日期时间。 它被视为任何其他字符串。

$stmt->bind_param('s', $date);

【讨论】:

【参考方案2】:

什么是“日期”类型?是整数还是字符串?

如果是字符串,使用s

如果是整数,只有数字,使用i

但是,在这种情况下,date('Y-m-d'); 将输出为:2014-03-16,你最好使用字符串。因为它有'-'。

【讨论】:

以上是关于Mysqli - 日期的正确参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章

警告问题:期望参数 1 为 mysqli_result [重复]

mysqli_fetch_array() 期望参数 1 为 mysqli_result,布尔值在 [重复]

用户“root”的访问被拒绝; @localhost'(使用密码:YES) 和 mysqli_query() 期望参数 1 为 mysqli,bool 给定 [重复]

警告:mysqli_stmt_bind_param()期望参数1是mysqli_stmt,给定布尔值? [重复]

PHP登录页面因root用户错误而拒绝访问,并期望参数1为mysqli,bool给定[重复]

为啥 MySQLi 库本身不支持命名参数?