为什么我的php crud操作在localhost中工作,而不是服务器?

时间:2016-04-07 18:32:00

标签: php server localhost

我有一个在localhost上工作正常的create函数,但在我的服务器上不起作用。我的意思是没有任何东西存储在数据库中,而它在localhost上存在。顺便说一句,我使用winhost。这是代码:

public function create ($title, $content, $date, $price){      

$db = Dbclass::getDB();
$query = "INSERT INTO upcoming_albums (albums_title, albums_content, albums_date, albums_price, albums_img_path)
         VALUES (:title, :content, :date, :price, :path)";
$statement = $db->prepare($query);
$statement->bindParam(':title', $title, PDO::PARAM_STR, 50);
$statement->bindParam(':content', $content);
$statement->bindParam(':date', $date);
$statement->bindParam(':price', $price, PDO::PARAM_STR, 10);
$statement->bindValue(':path', $this->target_path, PDO::PARAM_STR);

$statement->execute();

} 

这是我的表格:

<form action="" enctype="multipart/form-data" method="post" id="form_c">
        <label for="title">Title:</label>
            <input type="text" name="title" id="title"/>
        <label for="content">Content:</label>
            <textarea name="content" id="content"></textarea>
        <label for="date">Release Date (RRRR-MM-DD):</label>
            <input type="text" name="date" id="date"/>
        <label for="price">Price:</label>
            <input type="text" name="price" id="price"/>
        <label for="album_img">Price:</label>
            <input type="file" name="file" id="album_img"/>
            <span>
                <?php     
                    if (isset($_POST['btn_submit'])) {
                        $upcoming_album->uploadImg();  
                    }
                ?>
            </span>
        <button type="submit" name="btn_submit">Submit</button>
    </form>

这里是与设置create方法的表单相同的文件中的代码:

<?php
require_once "../../controllers/admin/Album.php";
$upcoming_album = new Album;
if (isset($_POST['btn_submit'])) {
    $upcoming_album->setFile();
    $upcoming_album->create($_POST['title'],$_POST['content'],$_POST['date'],$_POST['price']);
}
$albums = $upcoming_album->read();
?>

更新方法也不起作用。但是,删除方法就像一个魅力。 CRUD操作在localhost中工作得很好。

1 个答案:

答案 0 :(得分:0)

Okies!但在您看来,PHP crud在本地服务器中工作正常但在服务器上工作正常。问题可能是: -

  1. 您正在使用PDO在db(即)您在localhost上启用扩展名中插入值。所以它工作正常。但它可能无法在服务器中启用。所以请尝试在PHP配置中启用。
  2. 或者你可以检查这一行。,$ db = Dbclass :: getDB(); 如果数据库是否有效

    回声'';的print_r($分贝);出口;