【问题标题】:Notice: A non well formed numeric value encountered [duplicate]注意:遇到格式不正确的数值[重复]
【发布时间】:2014-05-31 19:33:40
【问题描述】:

我有以下代码和错误。所以请给我一些建议如何解决这个问题?

include('config/setup.php');
$query="select * from tbluser";
$fetch=mysqli_query($connect,$query) or die(mysqli_error($connect));
$row=mysqli_fetch_assoc($fetch);

echo $row['join_date']."</br>";
echo $date=strtotime($row['join_date'])."</br>";
echo $a=date('d-M-Y',$date)

2014-05-04

1399154400

注意:在第 12 行的 C:\xampp\htdocs\flipkart\index.php 中遇到格式不正确的数值 2014 年 5 月 4 日

【问题讨论】:

  • timestamp&lt;/br&gt; 传递给date() 可能不像您想象的那样工作。你为什么要回显设置这样的变量
  • @Barmar echo $a=date('d-M-Y',$date)."";这是第 12 行
  • 那条线完全是 hinky,你希望从中得到什么?
  • @adeneo 这个标签不起作用,因为我已经检查了它没有标签......。
  • @adeneo 实际上我需要 yyyy-mm-dd 这个日期格式是 2014 年 5 月 21 日这个格式所以这就是我这样做的原因

标签: php mysqli


【解决方案1】:

当你这样做时:

echo $date=strtotime($row['join_date'])."</br>";

您将$date 设置为字符串"1399154400&lt;/br&gt;"date() 期望它的第二个参数是一个数字,而这不是一个数字,因为它以 &lt;/br&gt; 结尾。

改成:

$date=strtotime($row['join_date']);
echo $date . "<br/>";

或:

echo $date=strtotime($row['join_date']), "<br/>";

这会将&lt;br/&gt; 作为一个单独的参数发送给echo,而不是在执行分配时将其连接起来。

顺便说一句,换行符的正确标记是&lt;br/&gt;,而不是&lt;/br&gt;

【讨论】:

    【解决方案2】:

    您实际上是在用&lt;br /&gt; 标签打发时间... 所以$date 不再是数字了。 直接放在date()函数里面...

    include('config/setup.php');
    $query="select * from tbluser";
    $fetch=mysqli_query($connect,$query) or die(mysqli_error($connect));
    $row=mysqli_fetch_assoc($fetch);
    
    echo $row['join_date']."<br />";
    echo strtotime($row['join_date'])."<br />";
    echo date('d-M-Y', strtotime($row['join_date']));
    

    【讨论】:

    • 这个答案无法解决变量'$a'的设置
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-09-13
    • 2021-08-31
    • 2014-09-18
    相关资源
    最近更新 更多