mysqlを使って、サーバー状にてsqlの操作を可能にしたプログラムを作りたいと考えているのですがミスなどがあれば教えていただきたいです。
現状として、テキストエリアに記入までは可能になっていて実行ができなくなています。ご教授のほどよろしくお願いいたします。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width"> <title>明日の話題</title> <style> body { background-color: white; } th { background-color: green; color: white; text-align: center; } td { background-color: white; border: 1px solid black; text-align: left; } tbody { overflow-y: scroll; height: 150px; } </style> </head> <body> <form action="dbquery.php" method="post"> <label>SQL:<br> <textarea name="sql" rows="8" cols="80"></textarea> </label> <br> <input type="submit" name="exec" value="実行"> </form> <table border="1" style="border-collapse: collapse"> <?php if (!empty($_POST["sql"])) { //$_POST["sql"]が空じゃない時 $sql = $_POST["sql"]; //上のtextareaで入力されたもの // データベースへの接続に必要な変数を指定 $host = 記入済み $username = 記入済み $passwd =記入済み $dbname = 記入済み // データベースへ接続 $link= mysqli_connect($host, $username, $passwd, $dbname); $result = mysqli_query($link, $sql); if (is_bool($result)) { // is_boolは変数がブーリアン(true,false)であるかどうか調べる if ($result) { echo "成功しました"; } else { echo "失敗しました"; } } else { $first = true; // 初回フラグをtrueにしておく foreach($result as $row) { if ($first) { echo "<tr>"; foreach($row as $key => $value) { echo "<th>".$key."</th>";// Table_in_?やフィールドの構成を表示する } echo "</tr>"; $first = false; // $keyを表示したのでfalseにしておく } echo "<tr>"; foreach((array)$row as $key => $value) { echo "<td>".$value."</td>"; //テーブル名やカラムを表示する } echo "</tr>"; } } mysqli_close($link); } ?> </table> </body> </html>
回答1件
あなたの回答
tips
プレビュー