// 17.2 Att false returnerades beror på på att nått gick fel // 18. Läste i CDatabase om ErrorCode() och ErrorInfo() // 19. Anropa och skriv ut resultatet av ErrorCode() och ErrorInfo(). echo "ErrorCode: " . $dbh->ErrorCode(); var_dump($dbh->ErrorInfo()); // 19.1 Felkod 42000 visas // 19.2 42000 är ett vanligt SQLSTATE-fel // 19.3 Meddelandet säger att felet i närheten av likhetsteknen // 20. Åtgärda felen i queryn ovan. Svara på följande frågor som kommentarer i test.php: //20.1 Jag ändratde queryn till ett likhetstecken och sedan funkade det // 21. Läste sedan i CDatabase om vad GetNumQueries() och GetQueries() gör. // 22. Anropade GetNumQueries() och GetQueries() echo "num queries: " . $dbh->GetNumQueries(); var_dump($dbh->GetQueries()); // 22.1 GetNumQueries() ger antalet frågor som körts // 22.2 GetQueries() visar vilka frågor som körts // 23. Läste sedan om CDatabase::Dump() // 24. Anropade Dump echo "dbh dump: " . $dbh->Dump(); //24.1 Dump()skriver ut alla databasfrågor som html // 25. Läste om CDatabase::SaveDebug() //26. Anropade SaveDebug() $dbh->SaveDebug(); // och skrev sedan ut sessionen echo "SESSION: <br>"; $html = dump($_SESSION); $html = preg_replace('#(<br */?>\\s*)+#i', '<br />', $html); echo $html; // 26.1 I sessionen sparas information av SaveDebug om vilka databasfrågor som körts // 26.2 Datan sparas under nyckeln Database // 26.3 Om man laddar om sidan så byggs den på med mer debug-info (när savdDebug körs)
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>";
$acronym = isset($_SESSION['user']) ? $_SESSION['user']->acronym : null; // if user is NOT authenticated. if ($acronym == null) { echo <<<EOD <div style=" border: 1px solid #777; border-radius: 3px; padding: 10px 20px;"> <h2 style="margin-top: 0;">Du måste vara inloggad för att få skapa ny film</h2> <p>Använd menyn uppe till höger på denna sida.</p> </div> EOD; } else { // Check if form was submitted if ($create) { $sql = 'INSERT INTO oophp0710_movie (title,year) VALUES (?,?)'; $params = array($title, $year); $db->ExecuteQuery($sql, $params); $db->SaveDebug(); $sql2 = 'INSERT INTO oophp0710_movie2genre(idMovie,idGenre) VALUES (?,?)'; $lastInsertId = $db->LastInsertId(); $params2 = array($lastInsertId, 1); $db->ExecuteQuery($sql2, $params2); $db->SaveDebug(); $sql3 = 'INSERT INTO oophp0710_movie2image(movie_id,image_id) VALUES (?,?)'; $params3 = array($lastInsertId, 1); $db->ExecuteQuery($sql3, $params3); $db->SaveDebug(); echo "Ny film sparad. <a href='?p=updatemovie' class='aButton'>Editera</a>"; } else { //var_dump($user->isAdmin()); $disabled = ''; $info = ''; if (!$user->isAdmin()) {