PHP/MySQL到PDO?

PHP/MySQL到PDO?,php,mysql,css,pdo,content-management-system,Php,Mysql,Css,Pdo,Content Management System,我对PHP/Mysql非常陌生,我当然有一些问题。我在youtube上学习如何创建一个简单的动态网站,从MySQL数据库中提取数据内容,然后在单个PHP索引页面上显示内容。我遵循本教程,使用PHP/MySQL连接到数据库,运行查询,使用fetch_assoc数组获取查询。但页面正文中不会显示任何内容。在故障排除过程中,有人建议我应该使用PDO而不是旧的MySQL方法。有人能破译我目前的“旧”MySQL代码,并将其翻译成正确的PDO编码方法,以便我能够学习掌握PDO,因为这是我现在应该开始理解的未

我对PHP/Mysql非常陌生,我当然有一些问题。我在youtube上学习如何创建一个简单的动态网站,从MySQL数据库中提取数据内容,然后在单个PHP索引页面上显示内容。我遵循本教程,使用PHP/MySQL连接到数据库,运行查询,使用fetch_assoc数组获取查询。但页面正文中不会显示任何内容。在故障排除过程中,有人建议我应该使用PDO而不是旧的MySQL方法。有人能破译我目前的“旧”MySQL代码,并将其翻译成正确的PDO编码方法,以便我能够学习掌握PDO,因为这是我现在应该开始理解的未来:)

index.php:

-试验场地

您需要更改的只是设置连接,请查看教程中的语法


与数据库的交互基本上还是一样的

我想没有人会为你做这项工作。但我可以帮助你自己:

从代码中,您需要学习以下PDO方法:

  • 您将用它替换
    mysqli\u connect()
    mysqli\u select\u db()

  • ,及

    您将用它们替换
    mysqli\u query()

  • 您将用它替换mysqli\u fetch\u assoc()

  • 您可能希望使用其中一个或两者来覆盖错误


  • 还可以看看PHP手册。你会比你想象的更容易学到所有的东西!祝你好运

    没有。到目前为止,没有人会在你没有尝试的情况下重写你的代码。仅仅切换到PDO也没有用。这是关于绑定参数的,它简化了事情,避免了SQL攻击,通常是隐式的。Mysqli也支持这些,但您仍然使用未初始化的SQL插值。请参见教程,如first。{我不是在找人帮我做这项工作。我确定我的问题只是为了给我指出正确的方向。保罗给了我一个很好的起点。感谢教程,它应该提供更多的见解。这是打开PDO的最简单的方法。非常有用的信息。谢谢!:)我会看看教程。它应该我会帮忙的。
    <?php
    // Setup document:
    include('config/setup.php');
    
    ?>
    
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="utf-8">
    <title><?php echo $page_title; ?> - test site</title>
    
    <link rel="stylesheet" type="text/css" href="css/styles.css">
    
    </head>
    
    <body>
    
     <div class="wrap_overall">
    
        <div class="header">
           <?php include('template/header.php'); ?>
        </div>
    
        <div class="nav_main">
            <?php include('template/nav_main.php'); ?>
        </div>
    
        <div class="content">
            <?php //include('content/'.$pg.'.php');
            // the database connection, our query
            $q = "SELECT * FROM pages WHERE page = '$pg' AND status = 1 LIMIT 1";
            $r = mysqli_query($dbc, $q);
             if (!$r) {
             die('Invalid query: ' . mysql_error());
             }
    
            $page = mysqli_fetch_assoc($r);
    
            echo '<h1>'.$page['title'].'</h1>';
            echo '<div class="content_body">'.$page['body'].'</div>';
    
             ?>    
        </div>
    
        <div class="footer">
            <?php include('template/footer.php'); ?>
        </div>
    
      </div>
    
    </body>
    </html>
    
    <?php ## Setup Document
    // host(or location of the database), username, password, database name
    //Variables for connecting to your database.
    //These variable values come from your hosting account.
    $hostname = "localhost";
    $username = "atomcmsadmin";
    $password = "uniCi2i";
    $dbname = "Atom_CMS";
    //Connecting to your database
    $dbc = mysqli_connect($hostname, $username, $password) OR DIE ("Unable to 
    connect to database! Please try again later.");
    mysqli_select_db($dbname);
    //include('functions/sandbox.php');
    if ($_GET ['page'] == '') {
        $pg = 'home';} 
    else {
        $pg = $_GET ['page']; }
    $page_title = get_page_title($dbc, $pg);
    ?>
    
    <?php
    // Sandbox Functions
    
    function get_page ($dbc, $pg) {
    
        // the database connection, our query
        $q = "SELECT title FROM pages WHERE type = 1, page = '$pg' AND status = 1 LIMIT 1";
        $r = mysqli_query($dbc, $q);
    
        $page = mysqli_fetch_assoc($r);
    
        echo '<h1>'.$page['title'].'</h1>';
        echo '<div class="content">'.$page['body'].'</div>';        
    }
    function get_page_title ($dbc, $pg) {
    
        $q = "SELECT title FROM pages WHERE type = 1, page = '$pg' AND status = 1 LIMIT 1";
        $r = mysqli_query($dbc, $q);
    
        $page = mysqli_fetch_assoc($r);
    
        return $page['title'];      
    }
    ?>