Convert mysql to mysqli?


Convert mysql to mysqli?

我正试图将我的代码更改为mysqli,我听说mysql是不推荐的,我有麻烦将我的代码更改为mysqli

我设法连接到我的数据库,但其余的代码似乎不工作,我试图改变所有的mysqlmysqli,但它没有工作。我怎么做才能使代码工作相同,但在mysqli ?

谁能重写一下,让我看看有什么不同吗?我还没有看到任何好的教程。

<?php
 $db = new mysqli('localhost','root', '', 'searchengine');
    if($db->connect_errno) {
        die('sorry we are having some problbems');
        }
$sql = mysql_query(sprintf(
    "SELECT * FROM searchengine WHERE pagecontent LIKE '%s' LIMIT 0,%d",
        '%'. mysql_real_escape_string($_GET['term']) .'%',
        mysql_real_escape_string($_GET['results']))
);
while($ser = mysql_fetch_array($sql)) {
    echo "<h2><a href='$ser[pageurl]'>$ser[pageurl]</a></h2>";
}
mysql_close();
<?php
 $db = new mysqli('localhost','root', '', 'searchengine');
    if($db->connect_errno) {
        die('sorry we are having some problbems');
        }
$sql = $db->query(sprintf(
    "SELECT * FROM searchengine WHERE pagecontent LIKE '%s' LIMIT 0,%d",
        '%'. $db->real_escape_string($_GET['term']) .'%',
        $db->real_escape_string($_GET['results']))
);
while($ser = $sql->fetch_array()) {
    echo "<h2><a href='" . $ser['pageurl'] . "'>" . $ser['pageurl'] . "</a></h2>";
}
$db->close();

除了使用面向对象风格的@Machavity的答案之外,您还可以使用过程风格:

<?php
    $db = mysqli_connect('localhost','root', '', 'searchengine');
    if(!$db) {
        die('sorry we are having some problems');
    }
    $sql = mysqli_query(
        $db,
        sprintf(
            "SELECT * FROM searchengine WHERE pagecontent LIKE '%s' LIMIT 0,%d",
            '%'. mysqli_real_escape_string($db,$_GET['term']) .'%',
            mysqli_real_escape_string($db,$_GET['results'])
        )
    );
    while($ser = mysqli_fetch_array($sql)) {
        echo "<h2><a href='$ser[pageurl]'>$ser[pageurl]</a></h2>";
    }
    mysqli_close($db);
?>