Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用php动态更改元描述/关键字_Php_Sql Server_Pdo_Meta Tags_Meta - Fatal编程技术网

使用php动态更改元描述/关键字

使用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::

我试图从数据库中获取一些信息,并将其用作metadesc和关键字。但有些事情并没有按预期的那样起作用

编辑:经过大量的帮助,我得到了半工作。如果没有blogID,我希望它可以回退到另一部分。。。剧本的那部分不起作用,有什么想法吗

<?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列,但它到底吐出了什么?是否为空,是否给出错误,是否给出值?什么?让我们来。哈哈,怎么了?我给你发了一封邮件,你最好把它处理掉,那怎么办?我在这方面不是最好的。没有回路。您可能需要查看手册中的示例