- 締切済み
MySQLからデータを取得して表示したい
yambejpの回答
- yambejp
- ベストアンサー率51% (3827/7415)
#1ですが $sql="select * from `{$tableName}` where `名前` like '{$name}'"; print $sql; $result = mysql_query($sql) or die(mysql_error()); としてみてください・・・ おそらくSQL文が不完全なのだと思います >like 鈴木 とか書いている時点でかなりやばそうです・・・ 最低でも、「like '鈴木'」でしょうし 普通はワイルドカードで「like '鈴木%'」 とかじゃないですか?
関連するQ&A
- mysql_fetch_objectにデータを取得させたいのですが、うまく行きません。
データ型 name varchar(30), item1 char(8), item2 int(6) で、テーブルが下記のようなっています。 | name |item1 | item2 | | taro | abcd | 53 | | taro | efghk | 48 | | taro | lmnp | 02 | while文で array_push($ydata, $row->item1) として $row = mysql_fetch_object($result) にデータを取得させたいのですが(スクリプト下記)、 $conn_id = mysql_connect("localhost","***","***") or die('Error connecting to MySQL'); mysql_select_db('***',$conn_id); $query ="SELECT item1,item2 from XYZ where name='taro'"; $result = mysql_query($query,$conn_id) or die($query.'failed('.mysql_error().')'); $ydata = array(); while($row = mysql_fetch_object($result)){ ←10行目 // array_push($ydata, $row->item1); // ここに下記の13、14行目を追記 } var_dump($row);echo"<br />\n"; var_dump($result); print_r($row); echo"<br />\n"; これでブラウザから見ると bool(false) resource(3) of type (mysql result) としか出ません。(19行目の結果は表示されません。) そのため 13: echo "item1",$row['item1'],"<br>"; 14 echo "item2",$row['item2'],"<br>"; と追記してブラウザから見ると、単に [ item1 ]とだけ表示されます。 10 行目を while($row = mysql_fetch_arrayt($result)){ に変えてブラウザから見ると item1abcd item253 imem1efghk item250 item1lmnp item258 bool(false) resource(3) of type (mysql result) となります。 $row = mysql_fetch_object($result) にデータを取得させるにはどのように修正すれば良いのでしょうか?
- ベストアンサー
- PHP
- MYSQLからデータを取り出して表示したい
度々お世話になります。解説書を見ながらMySQLのデータを取り出して表示させようとしているのですが、理解に苦労しています。その本のやり方は以下の通りです。 *サーバ接続済み *データベース選択済み *使用するテーブル名:joke *使用するコラム:joketext $result = @mysql_query('SELECT joketext FROM joke'); if (!$result) { exit('<p>Error performing query: ' . mysql_error() . '</p>'); } while ($row = mysql_fetch_array($result)) { echo '<p>' . $row['joketext'] . '</p>'; } 1.$resultの中にはTURE/FALSE以外に何か入っているのでしょうか?多分データベースのデータがストックされていくのだと思うのですが、この変数には二種類のデータ(true/falseと実際のデータ)が入っているという解釈でよろしいでしょうか? 2.mysql_fetch_arrayですが、これが6行目でやっていることは、$resultからデータを取り出して行に配列していくということでよろしいでしょうか? 3.完全に解らないのは、$row['joketext']の部分で、いったいぜんたいこれは何をやっているんでしょうか?変数の後に[ ]が出てくるパターンはこの本では初めてなのですが、解説されていません。 4.echo '<p>' . $row['joketext'] . '</p>'; の部分で、このピリオドはどういった役割をしているのでしょうか?これも本では初めて出てくるのですが、解説されていなくて困っています。 たくさんの質問になりますが、ひとつでも解る方おられましたら、どうぞよろしくお願いします。
- ベストアンサー
- PHP
- [php]mysqlデータ配列取得について
お世話になります。検索しても中々辿り着けなかったので質問させていただきます。 途中から //mysqlより全データ検索 $result = mysql_query('SELECT id FROM hoge ORDER BY id'); //添字配列として全データ取得 while($row = mysql_fetch_row($result)){ //ここの処理で$rowの配列を一行の配列として足していきたい。 var_dump($row); print('<br />'); } 現在の出力内容は array(1) { [0]=> string(1) "5" } array(1) { [0]=> string(1) "6" } array(1) { [0]=> string(1) "7" } array(1) { [0]=> string(1) "8" } こうした形で出力されます。 理想の出力内容は各arrayを足して、 array(4) { [0]=> string(1) "5" [1]=> string(1) "6" [2]=> string(1) "7" [3]=> string(1) "8"} 一行として出力したいのですが、一向にできる気配がありません。 初歩的なものだと思いますが、とても困ってます。何卒よろしくお願いいたしますm(_ _)m
- ベストアンサー
- PHP
- MYSQLから画像を取り出したい
PHPとMYSQLにて画像を表示したいのですが、 PHPmyadminにてBLOB型にJPG画像を手動で 入れて有ります、そこで下記のように取り出そうとしたのですが、文字の羅列が長く表示され、画像はでません。 $result = mysql_query("SELECT * FROM test"); $row = mysql_fetch_assoc($result); print ($row['image']); 文字の羅列が出るので、データははいっているとおもうのですが、取り出し方が悪いのでしょうか?
- ベストアンサー
- PHP
- MYSQLでPHPから画像表示したい
以下でPHPとMYSQLにて画像jpgを表示できたのですが、 header("Content-type: image/jpeg"); $result = mysql_query("SELECT * FROM test"); $row = mysql_fetch_assoc($result); print ($row['image']);これだけなら表示OK。 しかし、 テーブルタグの中にprint ($row['image']);をいれたり while文で囲んだりすると、文字の羅列になってしまいます。好きな場所にprint ($row['image']);で表示するには どうしたらいいのでしょうか?
- ベストアンサー
- PHP
- phpobjectとmysqlとの連携
flashとmysqlと連携したいのですが 使い方わからず下記サンプル動きません わかる方いましたら教えてください Example 1: // ** PHP ** // a function in the PHP class that does a simple query and returns the results to Flash function getRecords($dbName, $tableName) { $db = mysql_connect("localhost", "username", "password"); mysql_select_db($dbName, $db); // here's the query $result = mysql_query("SELECT * FROM $tableName "); // here's how we store the results in an array $rs = array(); while ($row = mysql_fetch_row($result)) { array_push($rs, $row); } return $rs; } // ** Actionscript ** // sets up the responder myFoo.getRecords_onResult = function(result) { var j = result.length; for (var i=0; i<j; i++) { // displays each row in the output panel trace("---Record "+i+"---") trace(result[i]); } }
- 締切済み
- PHP
- mysql_fetch_objectの書き方を教えて下さい。
PHP5.1.6を使用しています。 次のスクリプトを書きましたが、データが取得できません。 $conn_id = mysql_connect("localhost","***","***") or die('Error connecting to MySQL'); mysql_select_db('***',$conn_id); $query ="SELECT abcd,efgh from XYZ where name='taro'"; $result = mysql_query($query,$conn_id) or die($query.'failed('.mysql_error().')'); $ydata = array(); $xdata = array(); while($row = mysql_fetch_array($result)){ ← 11行目 array_push($ydata, $row->efgh); ← 12行目 array_push($xdata, $row->abcd); ← 13行目 } エラーログを見ると、 PHP Notice: Trying to get property of non-object in /***/***/****.php on line 12 PHP Notice: Trying to get property of non-object in /***/***/****.php on line 13 となっています。 var_dump($row) 句を入れ、ブラウザから見ると、当然ながら(?)bool(false) と表示されます。 11行目の mysql_fetch_array を mysql_fetch_object に入れ換えて while($row = mysql_fetch_object($result)){ としても結果は変わりません。 リファレンスマニュアルやサンプルを参照して種々手直ししましたが、今ひとつ正解に辿り着けません。 データを取得して配列に入れるには、どのように修正すれば良いか、教えて頂けませんでしょうか。
- ベストアンサー
- PHP
- MySQLが動かない(テーブルレコード全表示したい
初心者です。 いろいろ検索して改善していったつもりですが、なぜ動かないのかどうしてもわからないところがあったので質問させていただいてます。 /* サーバーへの接続 */ $link=mysql_connect($server,$user,$passwd); /* データベース内のテーブルの名前を$tablesに配列で格納 */ $STS = "SHOW TABLE STATUS"; $mytables = mysql_query($STS); while($r = mysql_fetch_array($mytables, MYSQL_ASSOC)){ $tables[] = ($r["Name"]."<br>\n"); } /* 全テーブルのレコードを全てプリント */ foreach($tables as $value){ $results = mysql_query("select * from " . $value, $link); while ($row = mysql_fetch_array($results, MYSQL_ASSOC)) { print_r($row); print("<br>\n"); } } mysql_close($link); foreachの部分を for($i = 0; $i < 2 /*$tables[$i] != 0*/; $i++){ $results = mysql_query("select * from " . $tables[$i], $link); $row = mysql_fetch_array($results, MYSQL_ASSOC); print_r($row); } でもやってみました。 これを利用して、何とか表形式でデータベースのテーブルのレコードをwebページに出力させようと思っています。 実行するとprint_r($row)の出力がでず、いろいろ試してみた結果、$resultsもしくは$rowに問題があることがわかりました。 var_dump($row); でNULLが出力されました。 var_dump($results); もやったのですが、うろ覚えなのでここには書きません。 $results = mysql_query("select * from gutaiteki_table", $link); としたら動いたので、select * from の後に変数を続けているからだめなのかなと思いましたが、私にはどうにもしようがありません。 これを正常に動作させる方法、他にうまいやり方があればその方法を教えてほしいです。 (私はデバッグのやり方がわからないので、「改変してwebのページを更新する」というのを繰り返してプログラムを作成していますが、他に方法があればそれも併せてご意見ほしいです。これは余裕があったらで構いません。)
- 締切済み
- MySQL
- mysqlデータベースの表示のさせ方
超初歩的な質問ですいません。。独学でやっているもので、頼る人もいないうえに、どういう勉強をしたらよいのか分からなかったので質問しました。 データベースを作って、それを出力する際に、htmlのデーブルの中に値を入れたいと思っています。 --------------------------------------------------------------- $sql= "select * from テーブル"; $result = mysql_query($sql); $rows = mysql_num_rows($result); if($rows == 0){ echo "<p>該当データがありません。</p>"; } else { while($row = mysql_fetch_array($result)){ echo "<p>"; echo $row["kashu"]; echo $row["hurigana"]; echo "</p><hr />"; } } ?> ---------------------------------------------------------------- いろいろなウェブサイトの見よう見まねでここまではできました。 今の状態で表示すると、 サザンオールスターズ さざんおーるすたーず というように並ぶのですが、これを、 +----------+---------------------+ | 歌手 |サザンオールスターズ | +----------+---------------------+ | ふりがな |さざんおーるすたーず | +----------+---------------------+ という感じに、htmlのテーブルに入れて表示させるには、どのように表記すればよいのでしょうか?? また、こういったデータベースの値を表示させるようなことを初心者向けに解説している本などもしご存知でしたら教えていただけると恐縮です(こちらはご存じでしたらでいいです)。
- ベストアンサー
- MySQL
- MYSQL、PHP. データが入っていない個所を非表示にする方法
よろしくお願いいたします。 現在、MYSQLとPHPを使ってゲームのデータベースのサイトを作っています。 ゲームのキャラクターなどを登録してあるのですが、キャラクター登録のないゲームのページもあります。 そういうとき、キャラクターがあるときには、 例 ================================================================ FF7に登場するキャラクター ================================================================ ・クラウド ・セフィロス ・コルネオ ・・・ というように出して、データ登録がない場合は(ここでいうと帯ごと)表示させないようにするにはどのようにしたらよいのでしょうか? ifを使うというのは何となく予想しているのですが、実際どのように組んだらよいものかさっぱりわからずに。。 ちなみに、現在の僕のサイトの該当箇所はこのように組んであります。(少し簡略化させていただきました) echo "<h3><div id =midashi>$○○ に登場するキャラクター</div></h3>"; $sql= "select * from game; $result = mysql_query($sql); $rows = mysql_num_rows($result); while($row = mysql_fetch_array($result)){ echo "<p>"; echo $row3["chara"]; echo "</p>"; } 何か説明が足りない個所などございましたらがんがんおっしゃってください。 よろしくお願いいたします!
- ベストアンサー
- PHP