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

  • Lacces

    őstag

    Hali.

    Kellene egy PDO expert személy. Most egy kicsit natívan fejlesztek, és meglepődöm, hogy egyedül az update nem működik nálam (Select, delete, és insert igen)

    Ez a következő kód:

    pastebin
    try {
    $sql = "UPDATE tbl_events " .
    "SET name=':name', city=':city', place=':place', event_start_date=':event_start_date', event_end_date=':event_end_date', " .
    "description=':description', category_id=':category_id', owner_id=':owner_id', coord_latitude=':coord_latitude', " .
    "coord_longitude=':coord_longitude', picture_path=':picture_path', is_adult=':is_adult', created_on=':created_on', updated_on=':updated_on' " .
    "WHERE id=':id'";

    // $sql = str_replace(':id', $id, $sql);
    // foreach($data as $key => $value) {
    // $value = (isset($data[$key]) || $data[$key] == "" ? $value : null);
    // $sql = str_replace(':'.$key, $value, $sql);
    // }
    // echo $sql;
    // echo "<br>";

    $stmt = self::$db->prepare("UPDATE tbl_events " .
    "SET name=':name', city=':city', place=':place', event_start_date=':event_start_date', event_end_date=':event_end_date', " .
    "description=':description', category_id=':category_id', owner_id=':owner_id', coord_latitude=':coord_latitude', " .
    "coord_longitude=':coord_longitude', picture_path=':picture_path', is_adult=':is_adult', created_on=':created_on', updated_on=':updated_on' " .
    "WHERE id=':id'");
    $stmt->bindValue(':id', $id, \PDO::PARAM_INT);

    foreach($data as $key => $value) {
    $value = (isset($data[$key]) || $data[$key] == "" ? $value : null);
    $stmt->bindValue(':'.$key, $value);
    }
    $stmt->execute();

    } catch (\PDOException $ex) {
    return $ex;
    }

    Az $stmt->execute() 1-es értékkel tér vissza. De az adatbázisban nem látom az update hatását, semmit sem csinál... viszont ha kikomenteztem az sql kiíratos részt, akkor megkaptam az sql query-t, megyek szépen a phpmyadmin-ban bemásolom, és láss csodát updatelte a kíván sort az adatbázisban, és ez fura... szóval az sql query az jó. És a PDO execute metódusa is 1-el tér vissza, de a PDO által nem frissül...
    Mi lehet ennek az oka?
    Sőt a bajt tovább tetézi, hogy a MySQL error logjában sincs semmi...

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

Hirdetés