0

このコードをチュートリアルから選択し、自分のニーズに合うように編集しました。

<?php
//if we got something through $_POST
if (isset($_POST['search'])) {
    // here you would normally include some database connection
    include('config2.php');
    $db = new db();
    // never trust what user wrote! We must ALWAYS sanitize user input
    $word = mysql_real_escape_string($_POST['search']);
    // build your search query to the database
    $sql = "SELECT name FROM $tbl_name WHERE name LIKE '%" . $word . "%'";
    // get results
    $row = $db->select_list($sql);
    if(count($row)) {
        $end_result = '';
        foreach($row as $r) {
            $result         = $r['title'];
            // we will use this to bold the search word in result
            $bold           = '<span class="found">' . $word . '</span>';
            $end_result     .= '<li>' . str_ireplace($word, $bold, $result) . '</li>';
        }
        echo $end_result;
    } else {
        echo '<li>No results found</li>';
    }
}
?>

コードを実行すると、次のエラーが発生します。

Fatal error: Class 'db' not found in /home/peltdyou/public_html/do_search.php on line 6

私はPHPに非常に慣れていないので、誰かが私の問題に光を当てることができます..

アップデート:

<?php   

    class db {

    function __construct()
    {
        global $dbh;
        if (!is_null($dbh)) return;
        $dbh = mysql_pconnect(DB_HOST, DB_USER, DB_PASSWORD);
        mysql_select_db(DB_NAME);
        mysql_query('SET NAMES utf8');
    }

    function select_list($query)
    {
        $q = mysql_query($query);
        if (!$q) return null;
        $ret = array();
        while ($row = mysql_fetch_array($q, MYSQL_ASSOC)) {
            array_push($ret, $row);
        }
        mysql_free_result($q);
        return $ret;
    }   
 } 
?>

これはdb.phpコードです..これを自分のconfig2.phpファイルに置き換えることで、データベースに接続できると思いました..明らかにそうではありません

4

1 に答える 1

5

あなたが使用したサンプル スクリプトを見つけたと思います。その中には、次のように書かれています。

// here you would normally include some database connection
include('db.php');

この例では、db.php は記述されていません。使用するデータベース ファイルがあることを前提としています。もう少し検索すると、「database.php」と呼ばれるこのデータベースクラスが見つかりましたが、作業しようとしているコードに簡単に使用できます。

于 2012-06-11T19:41:28.857 に答える