需要帮助才能在PDO中获得这两个查询
PHP代码:
if($who!="")
{
$sql = "SELECT id, title, itemurl FROM iwbf_vault WHERE uid='".$who."' ORDER BY pudt DESC LIMIT $limit_start, $items_per_page";
}else{
$sql = "SELECT id, title, itemurl, uid FROM iwbf_vault ORDER BY pudt DESC LIMIT $limit_start, $items_per_page";
}
答案 0 :(得分:1)
我会这样写:
// you may have set this earlier
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
$values = array();
$sql = "SELECT id, title, itemurl FROM iwbf_vault WHERE true";
if ($who) {
$sql .= " AND uid = ?";
$values[] = $who;
}
$sql .= " ORDER BY pudt DESC LIMIT ?, ?";
$values[] = $limit_start;
$values[] = $items_per_page;
$stmt = $pdo->prepare($sql);
$stmt->execute($values);
答案 1 :(得分:0)
你的一个例子
$dbh = new PDO('mysql:host=localhost;dbname=my_db', $user, $pass);
$where = '';
if($who) $where .= " WHERE uid = ':who' ";
$sth = $dbh->prepare('SELECT id, title, itemurl FROM iwbf_vault '.$where.' ORDER BY pudt DESC LIMIT :limit_start, :items_per_page');
if($who) $sth->bindValue(':who', $who);
$sth->bindValue(':limit_start', $limit_start);
$sth->bindValue(':items_per_page', $items_per_page);
$sth->execute();
$result = $sth->fetchAll();