0

基本的に、データベースに日付を追加しようとしています(日時ではなく日付のみ)

これが私がこれまでに持っているものです:

$wpdb->insert(
    'my_table',
     array('date-adding'=>date('Y-m-d', '1994-06-14')), 
     array('%F')
);

それは単に挿入するだけ0000-00-00なので、間違っている単純なものです-おそらくですが、%F何がわかりません。

ありがとう

4

2 に答える 2

3

PHPdate()関数が間違っています。何を達成しようとしていますか? 2 番目のパラメーターは、日付文字列ではなく、UNIX タイムスタンプである必要があります。静的な時間文字列も入力しているだけなので、「1994-06-14」を使用するだけで、date()関数を試して使用する理由はありません。

文字列を使用して動的なものが必要な場合は、これを試してください。

date('Y-m-d', strtotime($dynamic_date_string))

ディスカッション後に編集: 根本的な問題は、DATE を float としてフォーマットする 3 番目のパラメータ フォーマット文字列であることが判明しました。日付をフォーマットする理由がなかったため、そのオプションのパラメーターを削除すると問題が修正されました。また、使用して文字列として入力をフォーマットする%sとうまくいきます。

于 2013-08-27T16:02:11.063 に答える
1

可能な解決策:

とを使用strtotime()date()ます。

$originalDate = "2010-03-21";
$newDate = date("d-m-Y", strtotime($originalDate));

ソース: https://stackoverflow.com/a/2487938/1415724


編集#2

これを見てください:

<html>
<head>
<title>..</title>
<body>
<form action="work1.php" method="post">
Value1: <input type="text" name="date"><br>
<input type="Submit"/>
</form>
</body>
</head>
</html>

<?php
$username="root";
$password="abcdef";
$database="test_date";
$date=$_POST["date"];  // Your First Problem Post value
echo $date;
echo "i m here";
$date = date("Y/m/d", strtotime($date));   // 2nd Problem Date Format
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");

$query = "INSERT INTO date VALUES('','$date')";

mysql_query($query);

mysql_close();
?>

ソース: http://www.daniweb.com/web-development/php/threads/300356/date-stored-in-mysql-as-0000-00-00

また:

$date = date("Y-m-d", strtotime($_POST['date']));
$result = mysqli_query($link,"INSERT INTO visit_exclude_dates (date) VALUES ('{$date}')");

if(!$result) {
    echo "Error: " . $link->error);
    die();
}

$result->close();
$link->close();

ソース: https://stackoverflow.com/a/16991316/1415724


"編集"

データが入力フォーム フィールドからのものであることを考えると、ここに更新された回答があります。

データを「文字列」として渡そうとする場合は、代わりに二重引用符を使用してください。

すなわち:$string="1994-06-14";と比較して$string='1994-06-14';

PHP では同じように扱われません。

例として以下を使用してみてください。

<input type="text" name="date_input" value="<?php echo htmlspecialchars($date); ?>" />
于 2013-08-27T16:01:50.200 に答える