使用php动态更改元描述/关键字
我试图从数据库中获取一些信息,并将其用作metadesc和关键字。但有些事情并没有按预期的那样起作用 编辑:经过大量的帮助,我得到了半工作。如果没有blogID,我希望它可以回退到另一部分。。。剧本的那部分不起作用,有什么想法吗使用php动态更改元描述/关键字,php,sql-server,pdo,meta-tags,meta,Php,Sql Server,Pdo,Meta Tags,Meta,我试图从数据库中获取一些信息,并将其用作metadesc和关键字。但有些事情并没有按预期的那样起作用 编辑:经过大量的帮助,我得到了半工作。如果没有blogID,我希望它可以回退到另一部分。。。剧本的那部分不起作用,有什么想法吗 <?php $dsn = "sqlsrv:Server=localhost;Database=blog"; $conn = new PDO($dsn, "**********", "********"); $conn->setAttribute( PDO::
<?php
$dsn = "sqlsrv:Server=localhost;Database=blog";
$conn = new PDO($dsn, "**********", "********");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$id = $_GET['postID'];
$sql = "SELECT * FROM blog_posts WHERE blogID=:id ORDER BY blogID DESC";
$stmt = $conn->prepare($sql);
$stmt->execute (array($id));
while($metta = $stmt->fetch(PDO::FETCH_BOTH) )
if (isset($metta['blogID']) && !empty($metta['blogID'])) {
$keywords = $metta['keywords'];
$description = $metta['description'];
} else {
$keywords = "blalbalbalblabla";
$description = "blabla";
}
?>
这可能不是最漂亮的代码。。。但它是有效的
<?php
$dsn = "sqlsrv:Server=localhost;Database=blog";
$conn = new PDO($dsn, "*****", "*******");
$conn->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$id = $_GET['postID'];
$sql = "SELECT * FROM blog_posts WHERE blogID=:id";
$stmt = $conn->prepare($sql);
$stmt->execute (array($id));
$metta = $stmt->fetch(PDO::FETCH_BOTH);
if (isset($_GET['postID'])) {
$keywords = $metta['keywords'];
$description = $metta['description'];
}
sqlsrv_close($con);
?>
<meta name="description" content="<?= isset($description) ? $description : 'blablabla'; ?>">
<meta name="keywords" content="<?= isset($keywords) ? $keywords : 'blablabla'; ?>">
您正在调用$meta,但在您显示的代码中,$meta尚未定义。您从$meta[2]得到了什么输出?哈,我明白了。但问题是,从我所看到的…$keywords(注意末尾的s)和$description是从$row调用的。美元行是什么?我看不出它的定义。你说$meta[2]是你表中的blog_post列,但它到底吐出了什么?是否为空,是否给出错误,是否给出值?什么?让我们来。哈哈,怎么了?我给你发了一封邮件,你最好把它处理掉,那怎么办?我在这方面不是最好的。没有回路。您可能需要查看手册中的示例