所以我在我的空闲时间开发一个PHP Pastebin-esque项目来学习PHP和服务器管理,我遇到了很多问题,而且我还没有能够解决它们。我决定用自己迄今为止收集的信息自行重新开始,并将这些代码放在一起。
<?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'];
}
?>
我尝试使用此代码实现的是一个系统,用户可以在其中输入他们有兴趣在网址中查看的任何粘贴的 id 并让其显示pasteinfo行,它是保存粘贴本身的行。他们应该具有的格式是viewpaste.php?id =(用户输入)。
如何修复此代码?如果您解释可能最终放在评论中的任何代码,我也将非常感谢,以便我可以从中学习。谢谢!
答案 0 :(得分:0)
试试这个;
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;