if ($id != null) { //do we have a valid id? $sql = "SELECT * FROM oophp0710_movie"; $res = $db->ExecuteSelectQueryAndFetchAll($sql); $movie = null; foreach ($res as $mov) { if ($mov->id == $id) { $movie = $mov; } } if (!$movie) { die("CHECK: invalid id"); } $sql = 'DELETE FROM oophp0710_movie2Genre WHERE idMovie = ?'; $db->ExecuteQuery($sql, array($id)); $db->SaveDebug("Det raderades " . $db->RowCount() . " rader från databasen."); $sql2 = 'DELETE FROM oophp0710_movie2image WHERE movie_id = ?'; $db->ExecuteQuery($sql2, array($id)); $db->SaveDebug("Det raderades " . $db->RowCount() . " rader från databasen."); $sql = 'DELETE FROM oophp0710_movie WHERE id = ? LIMIT 1'; $db->ExecuteQuery($sql, array($id)); $db->SaveDebug("Det raderades " . $db->RowCount() . " rader från databasen."); } //var_dump($user->isAdmin()); $disabled = ''; $info = ''; if (!$user->isAdmin()) { $disabled = "disabled"; $info = "<p> Du kan inte radera eftersom du inte är administratör.</p>"; } echo "<h1 class='center'>Välj film att radera</h1>";
// frärde parametern $asHTMLtable anger iifall resultatet från frågan skall returneras som en HTML-tabell (default är false) // femte paramentern $tableCSSid anger ev.css id för styling av tabellen (default är detta en tom sträng) // 2.2 Det är endast första parametern som är obligatorisk - de övriga fyra är optionella // 2.3 Metoden kan returnera ett mixed resultset eller en html-tabell beroende på vad jag sätter parametern $asHTMLtabl till // 3 Skapar en fråga för att hämta alla filmer $qry = 'SELECT * from Movie'; // 4. Kör frågan $res = $dbh->ExecuteSelectQueryAndFetchAll($qry); // 5. Dumpa resultatet dump($res); // 6. Antalet filmer som ligger i filmdatabasen är för närvarande fem (5). // detta antal kan förändras - men man kan alltid få fram aktuellt antal via kommandot count($res)... // 7. ID:t för res[4] är fyra (4). // kan erhållas med kommandot: echo $res[3]->id; // 8. Aropar rowcCount echo "rowCount: " . $dbh->RowCount(); // 8.1 Row cont returnerade 5. // 8.2 Siffran referarar garanterat till antalet rader som påverkades av INSERT, DELETE och UPPDATE // samt för vissa databaser även SELECT - men det är pålitlig (enligt manualen) // 9. Läste om ExecuteQuery // 9.1 Parametrarna är: // En sträng med SQL-frågan (med ?) // En array med parametrar som har argumenten som skall ersätta eventuella ? // En true/false som anger om SQL-frågan skall printas innan körning // 9.2 Endast första parametern (SQL-frågan) är obligatorisk, övriga frivilliga // 9.3 Metoden returnerar true eller false beroende på om frågan lyckades eller ej // 10 En SQL-query för att lägga till en film $qry = 'INSERT INTO movie(title,year) VALUES(?,?)'; // 11. Skapar en array som innehåller de värden för filmen som ska läggas in $params = array('Terminator 5', 2015); // 12. Anropar ExecuteQuery()