【问题标题】:how to insert date in mysql database from php mysqli_query如何从 php mysqli_query 在 mysql 数据库中插入日期
【发布时间】:2020-03-14 03:52:48
【问题描述】:

我正在做的是我将当前日期和一个增量日期设为 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 注入攻击。您应该使用准备好的语句。见stackoverflow.com/a/60496/1839439
  • 准备好的声明
  • 把 , 逗号放在 status =1 后面,也放在 issueate 后面
  • 真的没有时间做所有这些更改,请告诉我应该输入哪种格式的日期。我必须提交我的项目
  • 旁注:&lt;form&gt; 不能成为 &lt;table&gt; 的子级。

标签: php mysql date insert


【解决方案1】:

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

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

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

【讨论】:

  • 好吧,这实际上可以消除该错误,但现在它显示错误
  • 'where 子句中的未知列'id'
  • 但是如果你在我的代码中看到 $id 有值 issueid
  • 然后我会检查 1. 您设置的 ID 是否确实存在于您的数据库中,2. 您实际上正在设置 $id 的值,以及 3. 打印出您的查询字符串print($sqli) exit; 以确保您没有添加任何额外的引号。
  • 请更新我的帖子作为您原始问题的答案。请不要对答案投反对票,因为它们可能会暴露您代码中的其他问题。此答案解决了您发布的原始错误并回答了您的问题。谢谢你,祝你的项目好运。
猜你喜欢
  • 1970-01-01
  • 2016-04-11
  • 1970-01-01
  • 2012-02-18
  • 1970-01-01
  • 1970-01-01
  • 2014-10-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多