ログイン

第八章

第八章
11問 • 2年前
  • 5511 WADA
  • 通報

    問題一覧

  • 1

    1.リレーショナルデータベース(RDB)の説明として正しいものを選択してください。(2つ選択)

    データベースにアクセス後、 SQLでは、 INSERT文、UPDATE文、DELETE文、 SELECT文を利用できる, 値のないフィールドがあっても表を作成することができる

  • 2

    2.PDOの説明として誤っているものを選択してください。(1つ選択)

    プレースホルダを用いたプリペアドステートメントをサポートしていない

  • 3

    3.PDOによるデータベース接続を行う場合の記述として正しいものを選択してください。ただし、$DSN変数には適切なDSN接続文字列が代入されているものとします。(1つ選択)

    $db = new PDO($DSN, 'user-id', 'user-pass');

  • 4

    4.PDOのエラーモードの設定として誤っているものを選択してください。(1つ選択)

    デフォルトは警告モードである

  • 5

    5.次のemployeesテーブルに新たな行を追加するSQL文として正しいものを選択してください。(1つ選択) 【employeesテーブル】 id name 1 Tanaka 2 Yamada 3 Takahashi 4 Saito

    INSERT INTO employees VALUES(5, 'Ito');

  • 6

    6.foodsテーブルに対して以下のコードを実行したときの出力結果として正しいものを選択してください。(1つ選択) 【foodsテーブル】 id name price order 1 apple 200 10 2 banana 300 30 3 carrot 150 25 4 durian 500 5 try{ $db = new PDO ('mysql: host=localhost; dbname=testsample', 'user-id', 'user-pass'); $db->setAttribute (PDO:: ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE foods SET price = price - 50 where price >= 200"; $result = $db->exec($sql); print "Changed the price of “ . $result. " rows."; }catch(PDOException $e) { print "connect error". $e->getMessage(); }

    Changed the price of 3 rows.

  • 7

    7.foodsテーブルに対して以下のSQL文を実行したとき、実行後のfoodsテーブルの状況として正しいものを選択してください。(1つ選択) 【foodsテーブル】 id name price order 1 apple 200 10 2 banana 300 30 3 carrot 150 25 4 durian 500 5 DELETE FROM foods WHERE price < 200;

    id name price order 1 apple 200 10 2 banana 300 30 4 durian 500 5

  • 8

    8.fruitsテーブルに対して以下のSQL文を実行したときの出力結果として 正しいものを選択してください。 (1つ選択) 【fruitsテーブル】 id name price stock 1 plum 240 40 2 kiwi 120 80 3 lemon 180 50 4 melon 360 30 SELECT name, price, stock FROM fruits ORDER BY price;

    name price stock kiwi 120 80 lemon 180 50 plum 240 40 melon 360 30

  • 9

    9. 次のコードを実行したときの出力結果として正しいものを選択してください。(1つ選択) try{ $db = new PDO('mysql:host=localhost;dbname=testsample','user-id','user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = "SELECT name,price,stock FROM fruits ORDER BY stock LIMIT 3"; $q = $db->query($sql); while ($row = $q->fetch()){ print "$row[name] \t $row[price] \t $row[stock] \n"; } }catch(PDOException $e){ print "connect error". $e->getMessage(); } [fruitsテーブル] id name price stock 1 plum 240 40 2 kiwi 120 80 3 lemon 180 50 4 melon 360 30

    melon 360 30 plum 240 40 lemon 180 50

  • 10

    10.次のコードを実行したときに以下の結果が得られるようにしたい場合、 空欄1に当てはまる記述として正しいものを選択してください。(1つ選択) try{ $db = new PDO('mysql:host=localhost; dbname=testsample', 'user-id', 'user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql="SELECT id, name FROM employees"; $q = $db->query($sql); $rows = $q->①(); foreach($rows as $row) { print "$row[0] $row[1]\n"; } } catch (PDOException $e){ print "connect error". $e->getMessage(); } 【employeesテーブル】 id name 1 Tanaka 2 Yamadal 3 Takahashi 4 Saito 【実行結果】 1 Tanaka 2 Yamada 3 Takahashi 4 Saito

    fetchAll

  • 11

    11.次のコードでは、PDOのプリペアドステートメントを使用して、外部からのデータを用いた検索を行っています。空欄①、②に当てはまる記述の組み合わせとして正しいものを選択してください。(1つ選択) try{ $db = new PDO ('mysql: host=localhost; dbname=testsample', 'user-id','user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO:: ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ); $sql = "SELECT name, price FROM foods WHERE price >= ? AND price <= ?"; $q = $db->①($sql); $q->②(array($_POST['min_price'],$_POST['max_price'])); $foods = $q->fetchAll(); if (count($foods) == 0){ print 'No foods matched"; }else{ foreach ($foods as $row){ print_r($row); } } }catch(PDOException $e){ print "connect error". $e->getMessage(); }

    ①prepare ②execute

  • 第一章

    第一章

    5511 WADA · 9問 · 2年前

    第一章

    第一章

    9問 • 2年前
    5511 WADA

    第三章

    第三章

    5511 WADA · 10問 · 2年前

    第三章

    第三章

    10問 • 2年前
    5511 WADA

    第四章

    第四章

    5511 WADA · 10問 · 2年前

    第四章

    第四章

    10問 • 2年前
    5511 WADA

    第五章

    第五章

    5511 WADA · 10問 · 2年前

    第五章

    第五章

    10問 • 2年前
    5511 WADA

    第六章

    第六章

    5511 WADA · 8問 · 2年前

    第六章

    第六章

    8問 • 2年前
    5511 WADA

    第十章

    第十章

    5511 WADA · 8問 · 2年前

    第十章

    第十章

    8問 • 2年前
    5511 WADA

    第十一章

    第十一章

    5511 WADA · 5問 · 2年前

    第十一章

    第十一章

    5問 • 2年前
    5511 WADA

    第十二章

    第十二章

    5511 WADA · 14問 · 2年前

    第十二章

    第十二章

    14問 • 2年前
    5511 WADA

    第十三章

    第十三章

    5511 WADA · 20問 · 2年前

    第十三章

    第十三章

    20問 • 2年前
    5511 WADA

    第十四章(総合問題)1-10

    第十四章(総合問題)1-10

    5511 WADA · 10問 · 2年前

    第十四章(総合問題)1-10

    第十四章(総合問題)1-10

    10問 • 2年前
    5511 WADA

    第十四章(総合問題)11-20

    第十四章(総合問題)11-20

    5511 WADA · 10問 · 2年前

    第十四章(総合問題)11-20

    第十四章(総合問題)11-20

    10問 • 2年前
    5511 WADA

    第十四章(総合問題)21-30

    第十四章(総合問題)21-30

    5511 WADA · 10問 · 2年前

    第十四章(総合問題)21-30

    第十四章(総合問題)21-30

    10問 • 2年前
    5511 WADA

    第十四章(総合問題)31-40

    第十四章(総合問題)31-40

    5511 WADA · 10問 · 2年前

    第十四章(総合問題)31-40

    第十四章(総合問題)31-40

    10問 • 2年前
    5511 WADA

    実力テスト1-10

    実力テスト1-10

    5511 WADA · 10問 · 2年前

    実力テスト1-10

    実力テスト1-10

    10問 • 2年前
    5511 WADA

    実力テスト11-20

    実力テスト11-20

    5511 WADA · 10問 · 2年前

    実力テスト11-20

    実力テスト11-20

    10問 • 2年前
    5511 WADA

    実力テスト21-30

    実力テスト21-30

    5511 WADA · 10問 · 2年前

    実力テスト21-30

    実力テスト21-30

    10問 • 2年前
    5511 WADA

    実力テスト31-40

    実力テスト31-40

    5511 WADA · 10問 · 2年前

    実力テスト31-40

    実力テスト31-40

    10問 • 2年前
    5511 WADA

    問題一覧

  • 1

    1.リレーショナルデータベース(RDB)の説明として正しいものを選択してください。(2つ選択)

    データベースにアクセス後、 SQLでは、 INSERT文、UPDATE文、DELETE文、 SELECT文を利用できる, 値のないフィールドがあっても表を作成することができる

  • 2

    2.PDOの説明として誤っているものを選択してください。(1つ選択)

    プレースホルダを用いたプリペアドステートメントをサポートしていない

  • 3

    3.PDOによるデータベース接続を行う場合の記述として正しいものを選択してください。ただし、$DSN変数には適切なDSN接続文字列が代入されているものとします。(1つ選択)

    $db = new PDO($DSN, 'user-id', 'user-pass');

  • 4

    4.PDOのエラーモードの設定として誤っているものを選択してください。(1つ選択)

    デフォルトは警告モードである

  • 5

    5.次のemployeesテーブルに新たな行を追加するSQL文として正しいものを選択してください。(1つ選択) 【employeesテーブル】 id name 1 Tanaka 2 Yamada 3 Takahashi 4 Saito

    INSERT INTO employees VALUES(5, 'Ito');

  • 6

    6.foodsテーブルに対して以下のコードを実行したときの出力結果として正しいものを選択してください。(1つ選択) 【foodsテーブル】 id name price order 1 apple 200 10 2 banana 300 30 3 carrot 150 25 4 durian 500 5 try{ $db = new PDO ('mysql: host=localhost; dbname=testsample', 'user-id', 'user-pass'); $db->setAttribute (PDO:: ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $sql = "UPDATE foods SET price = price - 50 where price >= 200"; $result = $db->exec($sql); print "Changed the price of “ . $result. " rows."; }catch(PDOException $e) { print "connect error". $e->getMessage(); }

    Changed the price of 3 rows.

  • 7

    7.foodsテーブルに対して以下のSQL文を実行したとき、実行後のfoodsテーブルの状況として正しいものを選択してください。(1つ選択) 【foodsテーブル】 id name price order 1 apple 200 10 2 banana 300 30 3 carrot 150 25 4 durian 500 5 DELETE FROM foods WHERE price < 200;

    id name price order 1 apple 200 10 2 banana 300 30 4 durian 500 5

  • 8

    8.fruitsテーブルに対して以下のSQL文を実行したときの出力結果として 正しいものを選択してください。 (1つ選択) 【fruitsテーブル】 id name price stock 1 plum 240 40 2 kiwi 120 80 3 lemon 180 50 4 melon 360 30 SELECT name, price, stock FROM fruits ORDER BY price;

    name price stock kiwi 120 80 lemon 180 50 plum 240 40 melon 360 30

  • 9

    9. 次のコードを実行したときの出力結果として正しいものを選択してください。(1つ選択) try{ $db = new PDO('mysql:host=localhost;dbname=testsample','user-id','user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql = "SELECT name,price,stock FROM fruits ORDER BY stock LIMIT 3"; $q = $db->query($sql); while ($row = $q->fetch()){ print "$row[name] \t $row[price] \t $row[stock] \n"; } }catch(PDOException $e){ print "connect error". $e->getMessage(); } [fruitsテーブル] id name price stock 1 plum 240 40 2 kiwi 120 80 3 lemon 180 50 4 melon 360 30

    melon 360 30 plum 240 40 lemon 180 50

  • 10

    10.次のコードを実行したときに以下の結果が得られるようにしたい場合、 空欄1に当てはまる記述として正しいものを選択してください。(1つ選択) try{ $db = new PDO('mysql:host=localhost; dbname=testsample', 'user-id', 'user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $sql="SELECT id, name FROM employees"; $q = $db->query($sql); $rows = $q->①(); foreach($rows as $row) { print "$row[0] $row[1]\n"; } } catch (PDOException $e){ print "connect error". $e->getMessage(); } 【employeesテーブル】 id name 1 Tanaka 2 Yamadal 3 Takahashi 4 Saito 【実行結果】 1 Tanaka 2 Yamada 3 Takahashi 4 Saito

    fetchAll

  • 11

    11.次のコードでは、PDOのプリペアドステートメントを使用して、外部からのデータを用いた検索を行っています。空欄①、②に当てはまる記述の組み合わせとして正しいものを選択してください。(1つ選択) try{ $db = new PDO ('mysql: host=localhost; dbname=testsample', 'user-id','user-pass'); $db->setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION); $db->setAttribute(PDO:: ATTR_DEFAULT_FETCH_MODE,PDO::FETCH_OBJ); $sql = "SELECT name, price FROM foods WHERE price >= ? AND price <= ?"; $q = $db->①($sql); $q->②(array($_POST['min_price'],$_POST['max_price'])); $foods = $q->fetchAll(); if (count($foods) == 0){ print 'No foods matched"; }else{ foreach ($foods as $row){ print_r($row); } } }catch(PDOException $e){ print "connect error". $e->getMessage(); }

    ①prepare ②execute