「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 で同日。)