【问题标题】:Bind-Param string MM/DD/YY to SQL Date object in a bindBind-Param 字符串 MM/DD/YY 到绑定中的 SQL 日期对象
【发布时间】:2014-02-25 17:30:18
【问题描述】:

我收到以下错误:

警告:mysqli_stmt::bind_param():类型定义字符串中的元素数量与绑定变量的数量不匹配

我的代码是:

$query = "INSERT INTO $db_table(userFullName,userName,userExEmail,userPhone,userDOB) VALUES(?,?,?,?,?)";
            //Binding to Prevent SQL injection                      
            $requery = $mysqli_db->prepare($query);         
            $requery->bind_param("ssssss",$webmailFullName,$webmailUserName,$webmailExEmail,$webmailPhone,$webmailDOB);

我确定问题出在 MySQL 中名为 userDOB 的字段上,它在我的网页服务器上设置了 SQL 日期字段。

提供 $webmailDOB 的表单是一个 jQuery ui datepicker 小部件,它传递 MM/DD/YY 中的日期。作为一个帖子,我认为它是作为字符串传递的?

我认为我的问题是 sssss?

我需要将最后一个 s 转换为 SQL 格式的日期吗?

我不知道如何实现它,谁能告诉我阻止此错误发生所需的代码?

谢谢

【问题讨论】:

    标签: php string date mysqli bind


    【解决方案1】:

    您收到此错误是因为类型定义字符串中的元素数量与绑定变量的数量不匹配

    【讨论】:

    • 这是漫长的一天,6 S 当我检查我的 SQL 数据库时,我注意到日期对象是 0000-00-00,并且发送了一个类似 02/14/14 的数字?我假设 SQL 在 YYYY/MM/DD 中​​工作?
    • 在漫长的一天中,休息一下是个好主意。尤其是在匆忙询问任何错误时,甚至没有阅读它。 Mysql 日期格式是 YYYY-MM-DD 并且预见到您的下一个问题 - 已经有超过一千个问题被问到,完全是关于 mysql 日期转换的。请至少尝试先搜索。这并不难。
    • 来自你之前的评论:“在这个网站上,关闭重复的问题而不是写一个你自己的答案被认为是礼貌的,污染网站有数千个类似的问题。"——那是怎么回事?这不是重复的问题吗?
    • @AmalMurali 这也不是答案。
    • 为什么不呢?这似乎是对我的回答(最近是 CW):)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 1970-01-01
    • 2022-11-19
    • 1970-01-01
    • 2016-07-30
    • 1970-01-01
    相关资源
    最近更新 更多