mysql -> mysqli

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Joakim Broden

Joakim Broden

01/04/2013 11:57:51
Quote Anchor link
Ik zie geregeld dat mensen mysqli aanraden want dat schijnt beter te zijn ofzo? Kan iemand mij het grote verschil uitleggen tussen mysql en mysqli en wat er bv beter aan is?
 
PHP hulp

PHP hulp

08/01/2025 20:11:14
 
Ivo Breeden

Ivo Breeden

01/04/2013 12:07:30
Quote Anchor link
Hallo Hertog,
Lees de officiële documentatie op php.net: http://www.php.net/manual/en/function.mysql-connect.php .
 
Obelix Idefix

Obelix Idefix

01/04/2013 12:08:15
Quote Anchor link
mysql komt te vervallen in de/een volgende versie van php.
1 van de opvolgers is mysqli. De i staat voor improved.
 
Eddy E

Eddy E

01/04/2013 13:30:23
Quote Anchor link
Eerste hit op Google: http://www.phphulp.nl/php/forum/topic/mysql-vs-mysqli/76199/ :P



Net even een testje gedaan:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
<?php

    $user
= '**************';
    $pass = '**************';

    // start script hier

    // beide dezelfde query

    $sql = '
SELECT foto, COUNT(foto) AS aantal
FROM foto
GROUP BY foto
ORDER BY foto
'
;

    // test met mysql
    $time_start = microtime(true);

    for($i = 1; $i <= 100; $i++)
    {

        $mysql = mysql_connect("localhost", $user, $pass);
        mysql_select_db("lmyoqdhn_zunfl");
        $res = mysql_query($sql, $mysql);

        while($row = mysql_fetch_assoc($res))
        {

            $html[] = $row['foto'] . 'met ' . $row['aantal'] . ' dingen.';
        }


        mysql_close($mysql);
        unset($html);
    }

    $time_end = microtime(true);
    $time = $time_end - $time_start;
    echo "MySQL deed het in " . $time . " seconden.<br>";

    // test met mysqli
    $time_start = microtime(true);

    for($i = 1; $i <= 100; $i++)
    {

        $mysqli = new mysqli("localhost", $user, $pass, "lmyoqdhn_zunfl");
        $res = mysqli_query($mysqli, $sql);

        while($row = mysqli_fetch_assoc($res))
        {

            $html[] = $row['foto'] . 'met ' . $row['aantal'] . ' dingen.';
        }


        mysqli_close($mysqli);
        unset($html);
    }

    $time_end = microtime(true);
    $time = $time_end - $time_start;
    echo "MySQLi deed het in " . $time . " seconden.<br>";
?>


Resultaten:
MySQL deed het in 0.217160224915 seconden.
MySQLi deed het in 0.223525047302 seconden.
Dit een aantal keer herhaald, maar gemiddeld ligt het hier echt niet ver vandaan. Resultaat: MySQLi is in zoiets simpels dus 0.5% trager...
Resultaten waren ongeveer 2000 rijen met 2 kolommen. Foto is puur een naam als foto8237.jpg bijvoorbeeld.
Gewijzigd op 01/04/2013 13:48:00 door Eddy E
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.