DBのデータをPHPで表示(Cloud9)
前回まででDBを作成、CSVからデータの入力までできたので、今度はそのデータを取り出しウェブページに表示してみます。
例によって環境はCloud9です。
下記でDBに接続、
$db = new mysqli($servername, $username, $password, $database, $dbport);
でもって、SQL文を実行するのはDBへのデータ挿入と同じ。
mysqli_query($db, [SQL文]);
今回はデータの取り出しなので、SELECT文を使い、mainテーブル全て抜き出してみます。
SELECT * FROM main;
結果は連想配列mysql_fetch_arrayに格納されるため、echoでHTMLに出力します。
以下全文。
<?php $servername = getenv('IP'); $username = getenv('C9_USER'); $password = ""; $database = "il_service"; $dbport = 3306; // Create connection $db = new mysqli($servername, $username, $password, $database, $dbport); // Check connection if ($db->connect_error) { echo "Connected successfully (".$db->host_info.")"; die("Connection failed: " . $db->connect_error); } echo "Connected successfully (".$db->host_info.")"; //SQL文 $sql = "SELECT * FROM main;"; //実行 $result = mysqli_query($db,$sql); echo "<pre>"; while ($row = mysqli_fetch_array($result, MYSQLI_NUM)) { echo $row[0]."<br>"; } echo "</pre>"; ?>
mysql_fetch_arrayの第2引数に"MYSQLI_NUM"を指定すると、結果の行を数値添字配列で取得するmysql_fetch_rowと同じ動きをします。
プレビューするとテーブルの最初の行の値が順番に表示される筈。
"MYSQLI_NUM"の他には連想配列で取得する"MYSQLI_ASSOC"と、両方の属性を含める"MYSQLI_BOTH"があります。