0

警告するためだけにphpを使用するのは初めてです。とにかく私はこれをたくさん調べましたが、あまり理解していないので見ています..これを行う方法がわかりません..したがって、「日付」列を含むテーブルがあり、テストしていますフォームを使用してテーブルに値を挿入します。フォームで日付を分割し(月:日:年など)、それらを1つの値に結合して、日付に挿入できるようにしたかったのです。 'コラム..これを行う方法について何かアイデアはありますか?implode()を試しましたが、フォームから値がどのように送信されるのか正確にはわかりません。

実際の形

    <form action="submit.php" method="post" style="text-align: center; width: 550px; margin: auto;">
        <!--Id: <input type="text" name="id"> -->
        <div style="float: left;">Author: <input type="text" name="author"></div>
        <div style="float: right;">Month: <input type="text" name="month" size="3">
        Day: <input type="text" name="day" size="3">
        Year: <input type="text" name="year" size="5"><br></div>
        <textarea name="post" style="width: 550px; height: 100px;"></textarea><br>
        <input type="submit">
    </form>

</body>

Submit.php

<?php

mysql_connect('localhost','root');
mysql_select_db('apple');

$date = implode("-", "(month, day, year)");

$sql = "INSERT INTO blog (id, author, $date, post) VALUES ('$_POST[id]', '$_POST[author]', '$_POST[date]', '$_POST[post]')";

if (!mysql_query($sql))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
?>
4

1 に答える 1

2

implode()2番目のパラメーターとして配列を取ります。

$date = implode("-", array($_POST['year'], $_POST['month'], $_POST['day']));

また、使用することができますsprintf()

$date = sprintf("%04d-%02d-%02d", $_POST['year'], $_POST['month'], $_POST['day']);

クエリには2つの問題もあります。これを試して:

$sql = "INSERT INTO blog (id, author, `date`, post) 
        VALUES ('$_POST[id]', '$_POST[author]', '$date', '$_POST[post]')";

他のいくつかのポイント:

于 2013-01-26T03:38:41.287 に答える