MYSQLへの接続方法について質問

このQ&Aのポイント
  • 最近、プログラムによって寿命を縮められており、MYSQLへの接続方法について質問があります。
  • MYSQLへの接続し、会員さんのポイントとニックネームを抽出してランキングとして表示したいです。
  • 現在二通りのやり方を試していますが、うまくいかないエラーが出ています。
回答を見る
  • ベストアンサー

教えてください!

お世話になっております。 長くなります。 最近はプログラムと言う敵に寿命を縮められております。 質問をさせて頂きます。 MYSQLへ接続し会員さんのポイントとニックネームを抽出しそれをランキングとして10件表示したいと思っております。 現在二通りのやり方を教えて頂きました。 片方は抽出自体は出来ていても Array[0]等と言う文字が出てきて改行も出来てない状態です。 そのソースはこちらです。 <? $test = $DB->getAll("SELECT point FROM ".$k_user_table." order by point DESC LIMIT 0,10 "); print_r($test); ?> 上記に改行などするための for( $a = 0; $a<count($row); $a++ ){ for( $b=1;$b<count($row[$a]);$b++ ){ print $row[$a][$b]." "; } print "<br>"; print "<hr>"; } を付けると接続エラーが出ます。 もう一つはqueryでの方法です。 <table border="1"> <tr> <th>名前</th><th>ポイント</th> </tr> <? $rs=$db->query("SELECT nicname,point FROM ".$k_user_table." ORDER BY point DESC LIMIT 0,10"); ?> <?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?> <tr> <td><?php print_r($row["nicnam"]); ?></td> <td><?php print_r($row["point"]); ?></td> </tr> <?php } ?> </table> こちらはすべてエラーが出てしまいます。。。 自分的にHTMLが使えるqueryでの抽出方法が合っているかと思います。 実は、今使っているページは <?php /*キャッシュクリア*/ header('Cache-control: no-cache'); header('Pragma: no-cache'); /*セッションスタート*/ session_start(); $SID = session_id(); if($_SESSION['sid']=="") { header("Location: login.php"); } $sid = $_SESSION['sid']; $nicname = $_SESSION['nicname']; $k_pageID = 0; if(isset($_GET['k_pageID'])) { //広告ページNO. $k_pageID=($_GET['k_pageID']-1)*10; } /*文字コード*/ ini_set('mbstring.internal_encoding','SJIS'); //データベース接続 require_once('./adodb/adodb.inc.php'); //Smartyモジュール include("./Smarty/libs/Smarty.class.php"); //SmartySJIS対策 include("./class/sjis.inc.php"); 等が入っている別なファイルをコピペしてその下に先程のソースを入れております。(もちろん<?php?>で新たに区切っています) よく見ると、//データベース接続がすでにされている状態なのかもしれません。 ただ、一番初めのソースでは抽出自体出来ているのでとりあえずは特にそのすぐ上のソースはDB抽出に影響はありませんよね。。。 こちらのエラーが出てるんですがまたこれはソースなどの間違いですよね。。。 Fatal error: Call to a mamber function query() on anon-object in/サイト名~ on line 147 環境はウィンドウズ2000です。 ライブラリはMYSQLになります。

  • MySQL
  • 回答数2
  • ありがとう数5

質問者が選んだベストアンサー

  • ベストアンサー
  • koke29
  • ベストアンサー率58% (114/196)
回答No.2

なんかあっちこっちで質問見かけてて気の毒だなーとか思ってました (間口は広い方が返答くるかもしれませんが、半端にたくさん出して おくとあんまり印象が良くないので、一つに絞った方がいいですよ) 私はPEARの使い方がほとんどわからないので、今回はぱっと見て コレは違うと思ったところだけの指摘でした 私が言った環境っていうのは、変数の名称のことです サンプルコードをコピペしても、iinnffooさんのファイルで 違う変数名を使っていたらエラーになるので、そこは自分の 使っている変数に合わせて修正が必要ですよってことです 通常言われる環境の提示というと今回のケースならPHPとMYSQLの バージョンです バージョンによって使えない関数があるので なるべくiinnffooさんの環境に合わせての返答が出来るように 皆さん確認をしてくれるので、出来れば先に書くと良いです で、今回のiinnffooさんの場合は fetchRow を利用しての記述が わかりやすくて良いと思うので、こちらに絞って調べたり 質問したりするのが良いと思いますよ あ!今気づきましたが、ニックネームの添え字のところ間違ってます nicnamになってますよ これが引っかかってるんじゃないですか?? 一旦、まとめて修正したものを下に貼っておきますので これで試してみて下さい <table border="1"> <tr> <th>名前</th><th>ポイント</th> </tr> <? $rs=$DB->query("SELECT nicname,point FROM ".$k_user_table." ORDER BY point DESC LIMIT 0,10"); ?> <?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?> <tr> <td><?php print_r($row["nicname"]); ?></td> <td><?php print_r($row["point"]); ?></td> </tr> <?php } ?> </table> ご自身も一生懸命 勉強しても出来なくてイライラしているんだろうとは 思うのですが、やっぱり基本がわからないと応用は出来ないので、 今回一息ついた後でも、またこういうことをする機会が今後もあるなら これを機にしっかり勉強してみたらいいと思いますよ これの前に出した質問に対して英文に例えた返答を下さった方への レスがちょっと失礼だなーって私は思ったので、おこがましいですが 苦言です 初めはみんなわからないからこそ、基本を学んではどうか と おっしゃったんだと思いますよ 私も独学なのでiinnffooさんの気持ちは十分わかりますけどね

参考URL:
http://pear.plus-server.net/package.database.db.db-result.fetchrow.html
iinnffoo
質問者

お礼

出ました!!! d(°-^*)⌒☆ 色々教えてくださり感謝いたしております! もうくたくたでした・・・ テーブルにしっかり入ってくれましたV(^_^v)(v^_^)v ちょっと文字化け出てしまったのでこれは自力で頑張りたいと思います! koke29さん初め様々ご教授くださいました方々へ熱く御礼を申し上げます! nora1962さん inu2さん yambejpさん masa6272さん sakusaker7さん 皆様、有り難う御座いました! そして大変申し訳御座いませんでした! またなにかありましたらご教授の方宜しく御願致しますv(=∩.∩=)v

その他の回答 (1)

  • koke29
  • ベストアンサー率58% (114/196)
回答No.1

getAllでやるなら for( $a = 0; $a<count($row); $a++ ){ for( $b=1;$b<count($row[$a]);$b++ ){ print $row[$a][$b]." "; ここの$rowは全て$testに変更 fetchRowの方ですが $rs=$db->query("SELECT nicname,point FROM ".$k_user_table." ORDER BY point DESC LIMIT 0,10"); の$dbは$DBじゃないんでしょうか(getAllのコードと見比べると) こちらで返答する内容は基本的に推測で書いたものがほとんどなので 変数などはキチンと自分の環境にあわせないとエラーになりますよー

iinnffoo
質問者

お礼

御回答有り難う御座います! お世話になっております!! 環境に合わせてないからなんでしょうか(ノ_・) またまたエラー出ました(T.T ) ( T.T) こう言う質問の場合環境と言う物をどのように記載するべきですか! ブラウザの種類やウィンドウズ2000などでしょうか! ほんっとに嫌になって一つ一つ抽出する勉強をしてました。。。 これで四日目です。 この四日で三ヶ月くらいは寿命が縮まった気がします。

iinnffoo
質問者

補足

ちなみにtestに変更をしてみて出たのがこれです! Parse srror : syntax error unexpected $end in /サイト名~ on line 93 こちらになっております! 抽出方法はいろいろとあるみたいですけど・・・方法はなんでも出て欲しいんです!

関連するQ&A

  • 「PHP+MYSQLバージョンからの抽出結果をPHPファイルに表示できません」の質問になります。

    すぐに回答を! お世話になっております。 プログラミング初心者のiinnffooと申します。 またまた御助言頂きたく質問に至りました。 質問に入ります。 現在、TPLファイルを呼び出すPHPファイルを使ってMYSQLから会員さんへ送信したメールリストを最新順にDBから抽出したいと思っております。 補足になります。 今回TPLファイルを呼び出すPHPファイルを使っている理由はセッション等のソースが付いているのでそのまま使用しております。 (これが理由かもしれません、TPLのためのソースが抽出を邪魔しているかもです。) 今回の抽出結果を表示するファイルはPHPファイルになりTPLは使用しません。 現在 FATAL eorror RecordCount() が出ているのでソース間違いだと思うんです。 <?PHP //////////////////バックナンバー取得////////////////// $rs=$DB->query("SELECT * FROM ".$k_mail_timer." where sendtime <'$time' ORDER BY num DESC LIMIT 0,20"); $TOTAL=$result->RecordCount(); while($row =$result->FetchRow(DB_FETCHMODE_ASSOC)) ?> <TABLE> <TR><?PHP {$b_num[] = $row[0];} ?> </TR> <TR><?PHP {$row[1] = mb_convert_encoding($row[1],"SJIS","EUC-JP");} ?></TR> <TR><?PHP {$title[] = $row[1];} ?> </TR> <?PHP $smarty->assign("TOTAL",$TOTAL); $smarty->assign("title",$title); $smarty->assign("b_num",$b_num); if($_GET['k_outnum']<>"") { $b_num = $_GET['k_outnum']; ?> <?PHP //指定のデータを取得 $result = $DB->query("SELECT * FROM d_mail_timer where num='$b_num'"); while($row =$result->FetchRow(DB_FETCHMODE_ASSOC)) ?> <TABLE> <TR><?PHP {print_r($row["b_num"]);} ?> </TR> <TR><?PHP {print_r($row["title"]);} ?></TR> <TR><?PHP {print_r($row["msg"]);} ?> </TR> <TR><?PHP {$row[2] = mb_convert_encoding($row[2],"SJIS","EUC-JP");} ?> </TR> <TR><?PHP {$msg = $row[2];} ?></TR> <TR><?PHP {$url = $row[3];} ?> </TR> <?PHP ////■はサイトURLになります。 preg_match_all("/http:..■■■■■■.click_out.php.k_outnum=[0-9]+\&....sid=sid_fuyo/",$msg,$ms); foreach($ms[0] as $messe) { } preg_match_all("/k_outnum=[0-9]+/",$messe,$kid); foreach($kid[0] as $ki) { $ki = str_replace("k_outnum=","",$ki); trim($ki); } $url = $DB->getone("SELECT link_url_e FROM $k_koukoku_table where id='$ki'"); $msg = str_replace($messe,"",$msg); $smarty->assign("title",$title); $smarty->assign("msg",$msg); $smarty->assign("url",$url); }?> </TABLE> たぶん必要ないソースが結構あると思うんですけど・・・ 助けてくださいませんか(☆_☆)

    • 締切済み
    • PHP
  • php、PDOでの接続とクエリの記述位置

    php初心者です。 (DB:mysqlをphp(PDO)で操作) 最近PDOの勉強をし始めましたが、記述の際に (接続に関する部分)と(クエリに関する部分) の記述位置に関してのルールがはっきりしません。 上記2つを続けて記述をすれば問題なく動くのですが、例えば、 ----------------------------------------------------------------------- try{ $link = new PDO($db, $user, $pass); }catch(PDOException $e){ echo 'データーベースに接続できません。' . $e->getMessage(); } ----------------------------------------------------------------------- だけ先に記述しておき(接続しておいて)、その後htmlやphpの記述をはさみ、 必要な部分で以下のように(クエリ)の記述をした場合、動きません。 <?php $stmt = $link->query('SELECT * FROM booked order by rsvTime asc'); ?> <table border="1"> <tr> <th>予約時間</th> <th class="wdt_at">施術開始</th> <th class="wdt_at">施術終了</th> <th>予約未、済</th> </tr> <?php if (!$stmt) { $info = $link->errorInfo(); exit($info[2]); }                (※ここでクエリしたものを使用)             ↓ while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) { print "<tr>\n"; print "<td>".htmlspecialchars($row["rsvTime"])."</td>\n"; print "<td>".htmlspecialchars($row["startTime"])."</td>\n"; print "<td>".htmlspecialchars($row["finishTime"])."</td>\n"; print "<td>".htmlspecialchars($row["kafuka"])."</td>\n"; print "</tr>\n"; } print "</table>"; ?> ■質問内容 そこで質問です。PDOの接続とクエリの記述位置やその他のルールを 詳しく教えて下さい。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • php + mysql でフォーム作成時のエラー

    データベースから取り出したデータをラジオボタンで選択し、それをデータベース(別のテーブル)に追加させる機能を作りたいです。 非常に初歩的なことだとは思うのですがご教授ください。 MySQL 4.0.27 PHP 5.2.11 <FORM ACTION="cone3.php" METHOD="post"> <?php $srv = ""; // サーバー名 $id = ""; // ユーザーID $passwd = "; // パスワード $dbn = ""; // データベース名 $sql = "SELECT code, lname, lecturer, kind, gradetype FROM Lecture"; // SQL文 // データベースに接続する $db = mysql_connect($srv,$id,$passwd); mysql_select_db($dbn,$db); $rs = mysql_query($sql,$db); //--- テーブルのレイアウト --- 開始 -----------------------> print("<TABLE><TR>"); print("<TR><th> </th><th>講義名</th><th>教員</th><th>科目区分</th><th>配当学年</th></tr>"); while($row = mysql_fetch_array($rs)) { print '<tr><td><input type="radio" name="regist" value="$row['code']"></td>'; print '<td>' . $row['lname'] . '</td>'; print '<td>' . $row['lecturer'] . '</td>'; print '<td>' . $row['kind'] . '</td>'; print '<td>' . $row['gradetype'] . '</td>'; print '</tr>'; print ("</TR>"); } print("</TABLE>"); print_r($_POST); echo "<br />\n"; mysql_free_result($rs); mysql_close($db); //--- 終了 ---> ?> <input type="submit" name="submit" value="送信"> </form> 以上のようなソースでラジオボタンで配列の$row[code]の値を送りたいんですがうまくいきません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP テーブル内容にリンク付をつけて検索したい

    以下のような2つのPHPを作成しました。 PHPにおいて、検索ボタンが押されると、 SQLで記述したデータベースから値を持ってきてtable表示させているのですが、 その際に取得した値にリンクを付けて、再検索をする方法がわかりません。 POST変数で渡してやれば、というところはなんとなくわかるのですが、 具体的な方法をご教示いただきたいです。 どうかよろしくお願いいたします。 ------------------------------------------------------------------------ HTML側(データを検索・表示させるため)のtable.php <?php $nengetu = isset($_POST['nengetu']) ? $_POST['nengetu'] : ""; ?> HTML表示箇所 <?php <form method="post" action="tables.php"> <button type="submit" name="search">検索</button>←ボタンを押されたら表示 <thead>  <tr>   <th>年月</th>   <th>名前</th>   <th>金額</th>  </tr> </thead> <tbody> if(isset($_POST['search'])) $query.= "SELECT * FROM AAA"; if (!empty($nengetu)) { $query.=" WHERE nengetu = '$nengetu"; $dataview($query); ?> ------------------------------------------------------------------------ ------------------------------------------------------------------------ PDOで取得したテーブル内容を表示 class.table.php public function dataview($query) { クエリーを実行 ループ <tr> <td><?php print($row['name']); ?></td>←リンク付きで表示、table.phpで検索 <td><?php print($row['kingaku']); ?></td> <td><?php print($row['nengetu']); ?></td> </tr> } ------------------------------------------------------------------------

    • ベストアンサー
    • PHP
  • 【PHP】smartyとPHPの記述違いとメリット

    smartyというのが、デザインとプログラムを分けれるというので 使ってみたのですが、 //--------------------smarty--------------------- <table border=1> <tr> <th>{$table.title}</th> </tr> {foreach item=result from=$data_list} <tr> <td>{$result[0]}</td> </tr> {/foreach} </table> と、smarty用の記述をHTML内にいろいろ書かなければならず //------------------php---------------------- <table border=1> <tr> <th><?=$table[title] ?></th> </tr> <?php foreach($data_list as $key => $value){ ?> <tr> <td><?= $value ?></td> </tr> <?php } ?> </table> とHTML内にPHPをいろいろ書くのと  あまり大差無い気がして どういう点がよいのがイマイチ分かりません。 smartyは 使う メリットは どういうものがあるのでしょうか。

    • ベストアンサー
    • PHP
  • ヒアドキュメントについて

    以前質問しましたが、解決できませんでした。 ヒアドキュメント内での多次元配列の扱いで悩んでいます。 ソースは <?php require_once("mysql.php");// MySQLへのID・パスワードの取得をするファイルへのアクセス function kensaku($str1,$str2,$str3,$str4){ $mysql = new MySQL; $sql = "SELECT * FROM tankanji WHERE kanji like '%$str1%' AND (onyomi like '%$str2%' OR kunyomi like '%$str2%') AND kakusuu like '%$str3%' AND busyu like '%$str4%'"; $row=$mysql->query($sql); echo <<<EOM <TABLE width="3000" frame="border" border="3" cellspacing="1" cellpadding="3"> <TBODY> <TR><TH>id</TH><TH>漢字</TH><TH>音読み</TH><TH>訓読み</TH> <TH>画数</TH><TH>部首</TH></TR> while ($row = $mysql->fetch()){ <TR> <TD align="center"><?={$row['id']}?></TD> <TD align="center"><?={$row['kanji']}?></TD> <TD align="center"><?={$row['onyomi']}?></TD> <TD align="center"><?={$row['kunyomi']}?></TD> <TD align="center"><?={$row['kakusuu']}?></TD> <TD align="center"><?={$row['busyu']}?></TD></TR> } </TBODY> </TABLE> EOM; } なんですが、うまくいきません。 $row=$mysql->query($sql); のあとでprint文で$rowの中身を表示させたらきちんと入っているのでecho <<<EOM以降がおかしいものと思います。 エラーの内容としてはsyntax error, unexpected '"', expecting T_STRING or T_VARIABLE or T_NUM_STRINGと表示されてしまいます。これがどうしてもやらないといけないことでしてものすごく困っています。。初心者の質問で大変申し訳ないです。

    • ベストアンサー
    • PHP
  • 重複レコードをグループ化したいけど…。

    度々お世話になってます。 table1 【ID|フィールド1】 [1|AAA] [1|BBB] [2|CCC] [3|DDD] [3|EEE] [3|FFF] というようなテーブルがあるとして、クエリでは <table> <tr><td>1</td><td>AAA<br>BBB</td></tr> <tr><td>2</td><td>CCC</td></tr> <tr><td>3</td><td>DDD<br>EEE<br>FFF</td></tr> </table> …という形で表示したいのです。(理想です) 今までいろいろ試してみて、 $sql = " SELECT ID,フィールド FROM table1 GROUP BY ID "; に行き着きましたが、これだと <table> <tr><td>1</td><td>AAA</td></tr> <tr><td>2</td><td>CCC</td></tr> <tr><td>3</td><td>DDD</td></tr> </table> というように表示され、表示されないレコードが出来てしまいます。 GROUP BYが余計!と言われそうですが、同じIDが複数並ぶのを避けたいのです。 ソースコードは、 print "<table>\n"; print "<tr><th>ID</th><th>フィールド</th></tr>\n";  while( $row = mysql_fetch_array($result) ) {  print "<tr><td>$row[ID]</td><td>$row[フィールド]</td></tr>\n";  } print "</table>\n"; になっている状態です。 $row[フィールド]を書き換えればいいのかな?と思いますが、検索してもそれらしいものは見当たらなかったので質問させていただきました。 心当たりのある方、よろしくおねがいします。

    • ベストアンサー
    • PHP
  • PHPで検索画面を作成していますが上手に動きません

    PHP超!初心者です。よろしくお願いいたします。 行いたい事は、 HTML上にあるドロップダウンリストから項目を選択し実行すると、一致する項目をPHPMysql DBより抽出し表形式で表示したい。です。 PHPmysql→ ユーザー名:user パスワード:passwd データベース名:dbnameテーブル名:table_nm 検索画面→kensaku.html 検索結果→kensaku.php ●kensaku.html <html> <head> <title>検索</title> </head> <body> <br> <h1>種類</h1> <br> <form action = "http://localhost/lesson/kensaku.php" method="POST"> <p> 種類:<br /> <select name="betu" style="width:200" id="search_process"> <option value="" selected="selected">一覧から選択</option> <option value="あ">あ</option> <option value="い">い</option> <option value="う">う</option> <option value="え">え</option> <option value="お">お</option> </select></p> <p>    <input type="submit" name="exec" value="検索"> </form> </body> </html> ●kensaku.php <html> <body> <? if (!$con = mysql_connect("localhost", "user", "passwd")) {    print "接続エラー" ;    exit ; } mysql_select_db("dbname", $con) $sql = "select sid, name, price, betu, area, memo from table_nm" ; $sql . = "where betu like '$betu'" ; if (!$res = mysql_query($sql)) {    print "SQLエラー<BR>" ;    exit } <table border=1> <tr> <th>NO</th><th>名前</th><th>金額</th><th>種別</th> /tr> while($row = mysql_fetch_array($res)){    <tr>    <td><?php ($row['sid']); ?></td>    <td><?php ($row['name']); ?></td>    <td><?php ($row['price']); ?></td>    <td><?php ($row['betu']); ?></td>    </tr> } </table> </body> </html> 説明不足の部分がありましたら、申し訳ございません。 よろしくご教授お願いいたします。

    • ベストアンサー
    • PHP
  • whereについて

    お世話になります。 DB抽出はある程度まで出来たのですが、最後の部分で引っかかります。 d_koukokuテーブル にある k_name の中から「音楽」と言うものだけを取りたいのですが検索がうまく出来ていないようです。 以下になります。 <? ////////////////////音楽取得//////////////////// $rs=$DB->query("SELECT k_name,link_url_i,k_name_display,id,cate FROM ".$k_koukoku_table." where k_name='音楽'"); ?> となります。 表示結果セットは以下になります。(こちらは多分関係ないと思いますが一応載せて見ます。) <?php $smarty->assign("k_name",$k_name);?> <?php $smarty->assign("link_url_i",$link_url_i);?> <?php $smarty->assign("k_name_display",$k_name_display);?> <?php $smarty->assign("id",$id);?> <?php $smarty->assign("cate",$cate);?> <?php while($row=$rs->fetchRow(DB_FETCHMODE_ASSOC)){ ?> <TABLE> <tr bgcolor=""> <td><font size="1" COLOR=""><a href="cate_page_out.php?k_outnum=<?php print_r($row["id"]= mb_convert_encoding($row["id"],"SJIS","EUC-JP")); ?>" utn><?php print_r($row["k_name_display"]= mb_convert_encoding($row["k_name_display"],"SJIS","EUC-JP")); ?></a></td> </tr> </TABLE> <?php } ?> where句を使用しないと普通に全部出ます。 上記のようにwhere「音楽」とするとエラーは起こらず結果が表示されません。 後一歩ですよね? お願いいたします。

    • ベストアンサー
    • MySQL
  • mysql データ表示

    下記のプログラムは詳細を選択すると選択されたデータをいま1件ずつ表示しているのですが 氏名と住所を編集できるようにテキストボックスにしたいまた選択されたデータを初期値として取りたいです 表示されるのですが入力できません どこにフォームなどの命令を入れればいいですか 全体表示のtop.php <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>一覧画面</title> </head> <body> <BLOCKQUOTE> <BR>一覧画面<BR><BR> <?php $con=mysqli_connect("localhost","root","admin","db_test"); // Check connection if (mysqli_connect_errno()) { echo "Failed to connect to MySQL: " . mysqli_connect_error(); } $result = mysqli_query($con,"SELECT * FROM tbl_test"); echo "<table border='1'> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> <th>詳細</th> </tr>"; while($row = mysqli_fetch_array($result)) { echo "<tr>"; echo "<td>" . $row['番号'] . "</td>"; echo "<td>" . $row['氏名'] . "</td>"; echo "<td>" . $row['住所'] . "</td>"; echo "<td><a href=\"exit.php?id=" . $row['番号'] . "\">詳細</a></td>"; echo "</tr>"; } echo "</table>"; mysqli_close($con); ?> <BR><BR><BR> <A HREF="http://localhost/regist.php"> <INPUT TYPE = "SUBMIT" VALUE = "新規登録"></A> </BLOCKQUOTE> </body> </html> 詳細表示の exit.php <html> <body> <table border='1'> <BR><BR> <tr> <th>番号</th> <th>氏名</th> <th>住所</th> </tr> <?php $id=(isset($_GET["id"]))?((int) $_GET["id"]):0; $con=mysqli_connect("localhost","root","admin","db_test"); $result = mysqli_query($con,"SELECT `番号`,`氏名`,`住所` FROM tbl_test where `番号`={$id}"); while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)) { print "<tr>"; print "<td>".htmlspecialchars($row["番号"])."</td>"; print "<td>".htmlspecialchars($row["氏名"])."</td>"; print "<td>".htmlspecialchars($row["住所"])."</td>"; print "</tr>"; } ?> </table> <BR><BR> <A HREF="http://localhost/top.php"> <INPUT TYPE = "SUBMIT" VALUE = "一覧へ戻る"></A> </body> </html>