簡體   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