繁体   English   中英

如何从 php mysqli_query 在 mysql 数据库中插入日期

[英]how to insert date in mysql database from php mysqli_query

我正在做的是我将当前日期和一个增量日期设为 1 天,当直接插入 mysql 时,我用于日期的格式有效。 但从 php 开始显示此错误:

您的 SQL 语法有错误; 查看与您的 MySQL 服务器版本相对应的手册,了解在第 1 行的 'issuedate='2019/11/18' returndate='2019/11/19' WHERE id='2'' 附近使用的正确语法


    $date1=date('Y/m/d');
                        $date2=strftime("%Y/%m/%d", strtotime("$date1 +1 day"));
                        //$date2=strtotime();
                        //$date=date('y-m-d', strtotime('+1 day'strtotime($date1)));
                         echo "$date1";
                         echo "$date2";


                    echo "<tbody><tr style='background-color:#64626f; color:white;'><td>".$row['bookid']."</td><td>".$row['userid']."</td><td><form method='post'>".$date1."</td>&nbsp;&nbsp;&nbsp;<td>".$date2."</td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<td><input type='submit' value='CONFIRM ISSUE' class=''  name='issuec' /></form></td></tr></tbody></table>";

                    echo "<br/>";
                    if(isset($_POST['issuec'])){

                    $sqli="UPDATE issue SET status='1' issuedate='$date1' returndate='$date2' WHERE id='$id'";
                    $result2=mysqli_query($con,$sqli)or die(mysqli_error($con));

如评论中所述,您的代码容易受到 SQL 注入的攻击。 如果可能的话,我建议切换到 PDO 和/或使用准备好的语句(如果该选项可用)。

考虑到您的字段设置为接受datevarchar字段类型,我会尝试在更新变量之间添加逗号分隔符:

$sqli="UPDATE issue SET status='1', issuedate='$date1', returndate='$date2' WHERE id='$id'";

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM