Új hozzászólás Aktív témák

  • DNReNTi

    őstag

    Sziasztok,

    Hardcore (vagy épp noob) kérdés következik:
    Egy hiba (több sor kerül be az adatbázisba insert-kor, egy helyett) miatt írtam egy halál egyszerű tesztet, mert már sehogy nem tudtam rájönni mi a baj. A teszt lényege: oldalbetöltéskor bever egy sort egy adatbázis táblába. No de ahogy az eredeti hibánál itt sem egy sort hanem random 1-3 sor kerül be.

    A teszt kód maximálisan leegyszerűsítve:
    try {
    $DBC = new PDO(
    'mysql:host=localhost;dbname=local_db',
    'root',
    'root',
    array(
    PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES UTF8;',
    PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
    )
    );
    $SQLquery = "INSERT INTO temp(cont) VALUE(:content);";
    $SQLstmt = $DBC->prepare($SQLquery);
    $SQLparams = array(
    'content' => 'content'
    );
    $SQLstmt->execute($SQLparams);
    $DBC = null;
    } catch(PDOException $e) {
    die($e);
    }

    És akkor jönnek a csavaros dolgok:
    A lekérdezés perfekt működik mysql terminálban is, workbench-ben is.
    A $SQLstmt->rowCount() mindig pontosan : 1.
    Ha megnézem a táblát 3 új sor van benne.
    Megnézem a MySQL system status-t, az insert-ek száma hárommal nő.
    Olyan mintha többször nyitnám meg az oldalt, ekkor gondoltam kipróbálom a többi böngészővel is, és most kapaszkodj: Különböző böngészőkben (!!!) teljesen másképp viselkedik a szerver oldali kód.
    Chrome: mindig 3 sor megy be.
    FF: első alkalommal 3, aztán 1-1 sor megy be frissítésenként.
    Safari, Opera, IE: első alkalommal 3, aztán random 1-3 sor megy be frissítésenként.

    Hab a tortán, csináltam még egy táblát, azzal meg jó.

    Valaki pls explain, mert én hamarosan széjjelverem a laptopom. :DDD :W

    Apache 2.4.9
    MySQL 5.6.17
    PHP 5.5.12

Új hozzászólás Aktív témák

Hirdetés