PDO, $ _GET и SELECT из базы данных MySQL

Поэтому я работаю над проектом PHP Pastebin-esque в свое свободное время, чтобы изучить PHP и управление серверами, и у меня возникло много проблем, и я не смог их решить. Я решил перезапустить из sratch самостоятельно, с информацией, которую я собрал до сих пор, и бросил этот код вместе.

<?php require 'connection.php'; $getid = $_GET["id"]; $sql = 'SELECT paste FROM pasteinfo WHERE id=:id'; $stmt = $con->prepare($sql); $stmt->bind_param(':id', trim($_GET["id"], PDO::PARAM_INT)); $stmt->execute(); while($row = $stmt->fetch(PDO::FETCH_ASSOC)) { echo $row['paste']; } ?> 

То, что я пытаюсь достичь с помощью этого кода, – это система, в которой пользователь может вводить идентификатор любой вставки, которую они интересуют при просмотре в URL-адресе, и отображать строку pasteinfo, которая является строкой, в которой хранится сама паста. Формат, который у них должен быть, – viewpaste.php? Id = (ввод пользователя).

Как я могу исправить этот код? Я также очень признателен, если вы объясните, какой код вы можете положить в комментарии, чтобы я мог учиться на нем. Благодаря!

Попробуй это;

connection.php

 try{ $db = new PDO('mysql:host=localhost;dbname=database_name;charset=utf8mb4', 'database_username', 'database_password'); $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO::ATTR_EMULATE_PREPARES, false); } catch (PDOException $ex){ echo $ex->getMessage();return false; } function retrieve($query,$input) { global $db; $stmt = $db->prepare($query); $stmt->execute($input); $stmt->setFetchMode(PDO::FETCH_OBJ); return $stmt; } 

Чтобы получить данные, вызовите функцию retrieve ()

Страница поиска, скажем, display.php

 require 'connection.php'; $getid = $_GET["id"]; $result=retrieve("SELECT paste FROM pasteinfo WHERE id=?",array($getid)); $row=$result->fetch(); //To get paste column of that id $paste=$row->paste; echo $paste;