попытке обновления в таблице с переключателем случае заказа по идентификатору, как этотобновление PHP в ПДО с ООП и переключатель случае
index.php
<?php $action = (!empty($_REQUEST['action'])) ? $_REQUEST['action'] : "index";
$user = new User();
switch ($action) {
case "editenewsaction":
$main_content = "/main_content/Dashboard/edit_new_news";
require(DIR_VIEWS . 'layouts' . DS . "default.php");
if (isset($_POST)) {
$user_id = $_GET['news_id'];
$user->uid = $user_id;
$title = trim($_POST['title']);
$content = trim($_POST['content']);
$link = $_POST['link'];
$user->title = $title;
$user->content = $content;
$user->link = $link;
$user->editnews();
$main_content = "/main_content/Dashboard/mainIndex";
require(DIR_VIEWS . 'layouts' . DS . "default.php");
} else {
$main_content = "main_content/errors/edit_error_msg";
require(DIR_VIEWS . 'layouts' . DS . "default.php");
}
break;
}
?>
user.php
require(DIR_MODELS . 'database.php');
$database = new MySQLDatabase();
class User {
protected static $table_data = "data";
public $uid;
public $title;
public $content;
public $link;
public function editnews() {
global $database;
$newsid = $this->uid;
$utitle = $this->title;
$ucontent = $this->content;
$ulink = $this->link;
$sql = $database->connect->prepare("UPDATE " . self::$table_data . " SET title = :title, text = :text,links=:links WHERE id = :id");
$sql->bindParam(':title', $utitle);
$sql->bindParam(':links', $ucontent);
$sql->bindParam(':text', $ulink);
$sql->bindParam(':id', $newsid);
$sql->execute();
}
public static function showTable() {
global $database;
$sql = "SELECT * FROM " . self::$table_data . " ";
$stmt = $database->connect->prepare($sql);
$stmt->execute();
$result = $stmt->fetchAll();
echo"<table border=1>";
foreach ($result as $row) {
echo "<tr>";
echo "<td><a href=index.php?action=newsview&news_id=" . $row['id'] . ">" . $row['title'] . " </a></td>";
echo "<td><a href=index.php?action=newsview&news_id=" . $row['id'] . "><img src='{$row['links']}' /> </a></td>";
echo "<td><a href=index.php?action=editenewsaction&news_id=" . $row['id'] . "><pre>edit</pre></a></td>";
echo "<td><a href=index.php?action=newsview&news_id=" . $row['id'] . "><pre>delete</pre></a></td>";
}
echo "</tr>";
echo "</table>";
}
}
Вопрос в editnews()
метод в том, что он не работает. ShowTable()
работал хорошо, и метод создания также хорошо работал только в обновлении, он не работает для меня. Надеюсь, у меня не было слишком много ошибок.
Попытайтесь найти ошибки после выполнения запроса: http://php.net/manual/en/pdo.error-handling.php – user4035
Проверьте результаты вызовов, которые вы делаете в базе данных. Распечатайте содержимое '$ sql' и попробуйте запустить запрос непосредственно в базе данных, чтобы проверить правильность запроса. –
У вас нет проверки на наличие ошибок. Почему вы считаете, что все ваши функции базы данных будут работать отлично? Поймайте ошибки, и вы поймете, что происходит. – miken32