PHP:如何从数据库中添加日期和月份?

标签 php mysql

我有int数据库 t_calibrator 中的数据(校准周期 = 12、24 和 36)月份,我想用 $callast 中的输入日期进行计算,

这是我创建的代码(但总是得到 1970-01-01):

$calperiod = mysqli_query($conn, "SELECT calperiod FROM t_calibrator WHERE id_calibrator='$id_calibrator'");
$add = date('Y-m-d', strtotime('+".$calperiod" month', strtotime($callast)));

我的引用代码来自$add = date('Y-m-d', strtotime('+24 month', strtotime($callast)));是的,这有效,但只能持续 24 个月。

更新 现在我尝试使用这段代码:

$sql = "SELECT * FROM t_calibrator WHERE id_calibrator = '$id_calibrator'";
$result = mysqli_query ($conn,$sql);
$caldata = mysqli_fetch_array ($result);
$add = date('Y-m-d', strtotime('+".$caldata['calperiod']." months', strtotime($callast)));

但是显示这样的错误:

Parse error: syntax error, unexpected 'calperiod' (T_STRING), expecting ',' or ')' in /storage/h7/747/1148747/public_html/pages/calinputhistory.php on line 19

有人可以帮我解决这个麻烦吗? (抱歉我的英语不好)

最佳答案

mysqli_query 的返回结果要么是结果集(如果查询执行成功),要么是 FALSE(如果发生错误)。测试 mysqli_query 的返回结果,如果不为 FALSE,则获取一行。如果我们有一行,请从 calperiod 列中获取值。

 $sql = "SELECT calperiod FROM ... ORDER BY ... LIMIT 1";
 if( $sth = mysqli_query($conn,$sql) ) {
     if( $row = mysqli_fetch_assoc($sth) ) {
         $calperiod = $row["calperiod"];  
         echo $calperiod;
         // we have a value ...

     } else {
         echo "no row returned";
     }
 } else {
     echo "error in query execution"; 
     die(mysqli_error($conn);
 }

关于PHP:如何从数据库中添加日期和月份?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42967889/

相关文章:

php - SQL 结果作为 txt.file 由 php

php - htaccess url 重写关于 request_uri 的混淆

php - SugarCRM 数据库变量不允许我从我自己的属性中调用 quote() 函数

mysql - MariaDB:在提交 "Duplicate entry"时隐藏警告 "INSERT IGNORE"

mysql - 如何使用 Node Mysql Api 在 bot 框架 v4 中存储用户对话

PHP 不执行 MySQL 登录表单

php - 如何在每个表上显示 4 个不同的数据,以便在 Laravel 中名为 Transaction 的一个表上看到?

php - 正则表达式提取 2 个大括号之间的字符串

php - 如何在 angular.js 中组织 sql 查询返回的列表

mysql - 如何修复 'Selecting rows without null or blank value in each column'?