「PHP/データベースとの連動」の版間の差分
削除された内容 追加された内容
編集の要約なし |
編集の要約なし |
||
189 行
fetch() 命令は、一行ずつ、レコード(データベースの中身の部分)を取得する。
== webブラウザからデータベースの読み書き ==
webブラウザはどうやっても、root権限にはなれない。しかし、mySQLの初期状態では、ユーザーがrootしか登録されていない。
なので、まずMySQLにユーザーの追加が必要なので、Linuxのログインユーザー名で、MySQLにユーザーを追加する。MySQL起動後に、MySQL端末内で(Gnome端末ではないので注意)
CREATE USER 'ユーザー名'@'localhost';
でMySQLにユーザー登録できる。
まだユーザーを作っただけでは、この新規ユーザーには権限がまったく無い。なので、権限の追加のため <code>grant</code> という命令で(指定ユーザーに権限を)追加する。
GRANT ALL ON *.* TO ユーザー名@localhost;
なお、この例では、すべての権限を与えている。(実務ではセキュリティなどのため、権限は限定的に与えることになる。 例では、今後の操作の簡略化のため、権限をすべて与えることにした。)
;コード例
<syntaxhighlight lang="PHP">
<html>
<head>
<title>サンプル</title>
</head>
<body>
<?php
$con = mysqli_connect('localhost',"ユーザー名","","testmysql" );
$res = mysqli_query($con, 'select * from testTable');
$data = mysqli_fetch_array($res);
print "番号:" . $data["gensobangou"] ."<br />" ;
echo "元素名:" . $data["gensomei"] ."<br />" ;
echo "記号:" . $data["gensokigou"] ."<br />" ;
$data = mysqli_fetch_array($res);
echo "番号:" . $data["gensobangou"] ."<br />" ;
echo "元素名:" . $data["gensomei"] ."<br />" ;
echo "記号:" . $data["gensokigou"] ."<br />" ;
?>
</body>
</html>
</syntaxhighlight>
この上記のコードを、/var/www/html に入れておく。拡張子は .php であることに注意。(コード中に html タグがあるので、ついつい拡張子を html にしてしまいがち)
ブラウザ接続時にwebブラウザの見れる形式に変換するため、あらかじめ Apache(httpd) を起動しておく。
systemctl start httpd
で起動できる。
MySQLサーバーも当然、起動する必要があるので、
systemctl start mariadb
でMySQLサーバーを起動。
そして、webブラウザで
http://localhost/上記コードのファイル名.php
にアクセスすればいい。
;実行結果
<pre>
番号:1
元素名:Hydrogen
記号:H
番号:2
元素名:Helium
記号:
</pre>
:(動作環境など: FireFox75 で2020年4月25日に動作を確認。OS はFedora 32 で同日。)
|