将PDO与MySQL一起用于$ _GET两列

时间:2016-10-20 04:24:29

标签: php mysql pdo

我在空闲时间做了一个Pastebin-esque项目,昨晚我解决了我已经有几天的问题了。 (请参阅this主题)然而,当我尝试将代码提取到第二列时,我设法搞砸了所有内容,'标题'。

请阅读超链接主题并查看Odin的回答或查看以下代码。

如何让代码获取多列?

代码: viewpaste.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;

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;
}

万一你需要对我的项目进行更多的解释,我正在制作一个pastebin克隆(从头开始)并且我正在尝试制作一个页面,用户可以在其中输入任何粘贴的ID #39;想要在URL中查看并让我的代码获取该ID的所有标题和粘贴数据。这应该都是用$ _GET完成的,我已经解决了,直到我意识到我从来没有工作过,我们就是这样。

谢谢!

1 个答案:

答案 0 :(得分:1)

只需在SELECT查询

中指定列即可
$result=retrieve("SELECT title, paste FROM pasteinfo WHERE id=?", array($getid));
$row=$result->fetch();

$paste=$row->paste;
$title=$row->title;