0

私は PHP/Mysql を初めて使用するので、当然いくつか質問があります。私は、MySQL データベースからデータ コンテンツを取得し、単一の PHP インデックス ページにコンテンツを表示する単純な動的 Web サイトの作成に関する YouTube チュートリアルに従っていました。このチュートリアルに従って、PHP/MySQL を使用して DB に接続し、クエリを実行し、fetch_assoc 配列を使用してクエリをフェッチしました。しかし、ページの本文には何も表示されません。トラブルシューティングの過程で、古い MySQL メソッドの代わりに PDO を使用するようにアドバイスされました。誰かが私の現在の「古い」MySQLコードを解読し、それを適切なPDOコーディングアプローチに変換して、PDOを理解することを学ぶことができますか.

index.php:

<?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>

setup.php:

<?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

<?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'];      
}
?>
4

2 に答える 2

1

http://net.tutsplus.com/tutorials/php/why-you-should-be-using-phps-pdo-for-database-access/

変更する必要があるのは接続を設定することだけです。構文についてはチュートリアルをご覧ください

データベースとのやり取りはほとんど同じです

于 2013-11-07T03:28:38.473 に答える
0

あなたの代わりに仕事をしてくれる人はいないと思います。しかし、私はあなたが自分自身を助けることができます:

コードから、次の PDO メソッドを学習する必要があります。

PHP マニュアルのPDO ブックも参照してください。思ったよりも簡単にすべてのことを学ぶことができます! 幸運を!

于 2013-11-07T03:29:00.257 に答える