为 mysql 和 php 在线相册创建相册

Creating album for mysql and php online photo album

我正在创建一个 mysql 支持的在线相册并使用 php 访问我的 mysql 数据库,我在尝试创建一个允许用户创建新的表单时遇到了问题专辑,到目前为止我有以下代码:

<h1>My Photo Collection</h1>
<h3>Add, search and  browse through our collection!</h3>
<section id="collection">
<h4>Create Album</h4>
<form method='post'>
        <?php
        require_once 'config.php'; 
        $mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);
        if(isset($_POST['title'])){
        $name = $_POST['title'];
        if(empty($name)){ 
            echo "Please enter album name <br/>";
        } else{
            $mysqli->query("INSERT INTO albums VALUES('', '$title')");
            echo "Album was successfully created <br/>";
        }
    }
    ?>
    Album Name: <input type="text" name="title" /> <input type="submit" value="create" />
</form>
</section>

我的“相册”table 架构是: 标题,date_created,date_modified(时间戳),albumID(主键)

更多问题: 我如何允许用户在没有表格的情况下输入日期(并确保它的格式正确),date_modified 时间戳如何工作(我需要把它放在表格中吗?)

我在 php 查询中使用 mysqli 而不是 mysql。 到目前为止,我的代码 returns "undefined object 'title'" 谁能帮我弄清楚我的代码做错了什么?

谢谢!

目前,$title 未定义,您已将 $_POST['title'] 分配给 $name。并且由于您使用的是 MySQLi API,请改用准备好的语句。

至于日期,就用NOW()

<?php

require_once 'config.php'; 
$mysqli = new mysqli(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME);

if(isset($_POST['submit'])) {
    if(empty($_POST['title'])) {
        echo 'Please enter album name <br/>';
    } else {
        $name = $_POST['title'];
        $insert = $mysqli->prepare('INSERT INTO albums (title, date_created, date_modified) VALUES(?, NOW(), NOW())') or die($mysqli->error);
        $insert->bind_param('s', $name);
        if($insert->execute()) {
            echo 'Album was successfully created <br/>';
        } else {
            echo $mysqli->error;
        }

    }
}

?>

<h1>My Photo Collection</h1>
<h3>Add, search and  browse through our collection!</h3>
<section id="collection">
    <h4>Create Album</h4>
    <form method='post'>
        Album Name: <input type="text" name="title" /> 
        <input type="submit" name="submit" value="create" />
    </form>
</section>