ファイアーフォックス・ブラウザで画像が表示されない

このQ&Aのポイント
  • MySQLに保存されている画像のファイル名を読み込み、ファイアーフォックスおよびネットスケイプのブラウザに表示させる方法がわかりません。
  • Internet Explorerでは画像が表示されるが、ファイアーフォックスやネットスケイプでは表示されない問題が発生しています。
  • 現在のプログラムでは、画像のパスを正しく指定しているか確認する必要があります。
回答を見る
  • ベストアンサー

ファイアーフォックス・ブラウザで画像が表示されない

MySQLに画像のファイル名をデータとして保存してあります。このファイル名をPHPプログラで読み込んでファイアーフォックスおよびネットスケイプのブラウザに表示させたいのですが、できません。Internet Explorer ではちゃんと表示されます。 関連するプログラムの部分は以下のようになってます。 <?php ............................ ............................ $query= "select * from $tableName where quizid=$counter"; $result= mysqli_query($cxn, $query) or die ("query failed". mysqli_error($cxn)); $row= mysqli_fetch_array($result); $picture= $row["picture"]; .................................. .................................. ?> <img src='<?php print "displayPictures\\".trim($row["picture"]); ?>' height="100"> どこに問題があるかわかりません。どなたか教えていただけるとありがたいです。

  • PHP
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
noname#94983
noname#94983
回答No.1

"displayPictures\\" ↓ "displayPictures/" としたらどうだろうか。 パスを\で区切って記述するのはノーマルな方法ではない。通常、URL/URIでは/で区切る。(だから、この場合は、表示されないほうが正しい)

papashiro
質問者

お礼

早速の御回答、有難うございました。 アドバイスどうりにやって、問題は解決しました。 papashiro

関連するQ&A

  • MySQLのテーブルのコラム名の取得方法

    MySQLのテーブルを一つのオブジェクトと考えるようなクラスを作ろうとしています。 このクラスの中で、テーブルの各コラム(またはフィールド名)を要素にした配列を作りたいのですが、やり方がわかりません。 自分がある程度調べてみたところでは、MySQLシェルの中では、次のように入力すると添付した画面のようにコラム名の一覧が表示がされるのですが これらのコラム名をPHPスクリプト内にある配列に格納出来ません。 mysql> SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME="transaction"; まだ作成の途中ですが、自分のスクリプトは以下に掲載したようなものです // columnList initialize というブロックが該当部分です。ほかの部分はとりあえず働いてます。 どなたかお知恵を貸していただけないでしょうか。お願いいたします。 <?php class Table{ private $DBname; private $tableName; private $columnList=array(); private $dataArray=array(array()); private $totalRecords; //=================================================== public function __construct($database, $tablename) //=================================================== { $this->DBname=$database; $this->tableName=$tablename; $cxn=mysqli_connect("localhost","root","rsi2018","$database") or die("cannot connect to database"); // $columnList initialize $query="SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME=\"$tablename\""; $result=mysqli_query($cxn, $query) or die("query failed :1"); $row=mysqli_fetch_array($result); foreach($row as $col){ $this->columnList[]=$col; } // $totalRecords initialize $query="select count(*) as count from $tablename"; $result=mysqli_query($cxn, $query) or die("query failed :3"); $row=mysqli_fetch_array($result); $this->totalRecords=$row["count"]; // $dataArray initialize for($i=0; $i < $this->totalRecords; $i++){ $query="select * from $tablename where id=($i+1)"; $result=mysqli_query($cxn, $query) or die("query failed :2"); $this->dataArray[$i]=mysqli_fetch_assoc($result); } }// end constructor //=================================================== public function showPart($id) //=================================================== { $data=$this->dataArray[$id - 1]; /* foreach($data as $key=>$value){ echo "$key = $value</br>"; } */ echo "ID: ".$data['id']."</br>"; echo "partNumber: ".$data['partNumber']."</br>"; echo "partName: ".$data['partName']."</br>"; echo "simpleName: ".$data['simpleName']."</br>"; echo "stock: ".$data['stock']."</br>"; echo "location: ".$data['location']."</br>"; }// end function //=================================================== public function getTotalRecords() //=================================================== { return $this->totalRecords; }// end function //=================================================== public function showColumnList() //=================================================== { foreach($this->columnList as $field){ echo "$field "; } echo "</br>"; }// end function }// end class ?>

    • ベストアンサー
    • 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
  • MySQLからデータを取得して表示したい

    PHP+MySQLでWeb検索を作成していますが、不明点があるので質問させていただきます。 入力フォームから文字列を入力し、データベースに文字列がある場合、そのフィールド(行)のデータを表示させるということがうまくできません。(ちなみにデータベース接続、文字取得といったところは問題なくできています。) 例えば、以下のようなテーブルがあったとします。 学校 名前 点数 就職先 A校 佐藤 100 A社 B校 鈴木 90 B社 C校 寺本 80 C社 ここで入力フォームから鈴木と入力させて$nameに引き渡し、 $result = mysql_query( "select * from {$tableName} where `名前` like {$name}") ; while( $row = mysql_fetch_row( $result)){ var_dump( $row); } B校 鈴木 90 B社 という内容を表示させたいのですが、何も表示されません。データベース上(実際操作したのはphpmyadmin上)でクエリを送信してみると、フィールドが表示されるので、問題あるとしたら$rowのあたりかと思うのですが、原因がつかめません。どのように取得・表示させればいいか、ご教授下さいませ。 $result = mysql_query( "SELECT * from {$tableName}"); while( $row = mysql_fetch_row( $result)){ var_dump( $row); } ちなみにこれだとテーブルの全要素が配列に入って、表示されるのですが・・・。違いがよくわかりません。 よろしくお願い致します。

    • 締切済み
    • PHP
  • MYSQLから画像を取り出したい

    PHPとMYSQLにて画像を表示したいのですが、 PHPmyadminにてBLOB型にJPG画像を手動で 入れて有ります、そこで下記のように取り出そうとしたのですが、文字の羅列が長く表示され、画像はでません。 $result = mysql_query("SELECT * FROM test"); $row = mysql_fetch_assoc($result); print ($row['image']); 文字の羅列が出るので、データははいっているとおもうのですが、取り出し方が悪いのでしょうか?

    • ベストアンサー
    • PHP
  • 実行結果に連番を振る方法

    こんにちは。 以下を実行すると、ブラウザに結果x, 結果x, 結果x・・・と表示されます。 xの部分を1, 2, 3・・・とさせたいのですが、うまくできません。 ご教示頂けませんか? 宜しくお願い致します。 <?php //データベース接続 $server = "127.0.0.1"; $userName = "root"; $password = "password"; $dbName = "tweet01"; $mysqli = new mysqli($server, $userName, $password,$dbName); if ($mysqli->connect_error){ echo $mysqli->connect_error; exit(); }else{ $mysqli->set_charset("utf-8"); } $sql = "SELECT * FROM tweet_tbl"; $result = $mysqli -> query($sql); //クエリー失敗 if(!$result) { echo $mysqli->error; exit(); } //レコード件数 $row_count = $result->num_rows; //連想配列で取得 while($row = $result->fetch_array(MYSQLI_ASSOC)){ $rows[] = $row; } //結果セットを解放 $result->free(); // データベース切断 $mysqli->close(); ?> <!DOCTYPE html> <html> <body> <table border='1'> <tr><td>結果</td></tr> <?php foreach($rows as $row){ ?> <tr> <td><a href='wxyz.php?id=$row['id']; ?'>結果x</a></td> </tr> <?php } ?> </table> </body> </html>

    • ベストアンサー
    • PHP
  • fetch_arrayでのエラー

    fetch_arrayでのエラー はじめまして。初心者ですが、ご教授頂きたいです。 PHP,mysqlでサイトを作っていますが、 while ($row = mysqli_fetch_array(mysql_query($dbc,"SELECT userid FROM user_a"))) { $data = $row['userid']."member"; //テーブル名 mysqli_query($dbc,"DELETE FROM $data WHERE USERID = 'xxx'"); } このように書いたところ、 Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given in とエラーが返ってきてしまいます。 テーブル user_a の中にある "userid" を一つずつ取り出し、 それぞれの userid.member というテーブルに xxx がある行を削除していきたいのが目的です。 ネットで探しても、このエラーに関して解決策が書かれているサイトが見当たらなく 途方に暮れている次第です。 どうかお助けください。宜しくお願い致します。

    • ベストアンサー
    • MySQL
  • 検索結果の画像が表示されない

    <?php $con=mysql_connect(""); if(!$con){ echo ("MYSQLに接続失敗"); exit(); } else { echo ("#1=$con"); } mysql_query("SET NAMES eucjpms") or die("can not SET NAMES eucjpms"); $db=mysql_select_db(""); if(!$db) { echo ("DB選択失敗"); } else{ echo("DB選択OK!"); } $jyusyo=$_POST["jyusyo"]; $jyusyonum=array("豊岡市","養父市","朝来市","神戸市","姫路市"); $query = "select name,jyusyo,kakaku,gazou from ocdda where"; if($jyusyo != "") { $query = $query . " jyusyo like '%$jyusyo%' "; } $result = mysql_query($query); $num_rows=mysql_num_rows($result); if($num_rows== 0){ $message="該当データ無し"; } else $message=$num_rows ."件あります"; echo $message; while($row = mysql_fetch_array($result)){ // Loop through the array of score data, formatting it as HTML echo '<table>'; $i = 0; { // Display the score data echo '<tr><td class="scoreinfo">'; echo '<span class="kakaku">' . $row['kakaku'] . '</span><br />'; echo '<strong>会社名:</strong> ' . $row['name'] . '<br />'; echo '<strong>住所:</strong> ' . $row['jyusyo'] . '</td>'; if (is_file(GW_UPLOADPATH . $row['gazou']) && filesize(GW_UPLOADPATH . $row['gazou']) > 0) { echo '<td><img src="' . GW_UPLOADPATH . $row['gazou'] . '" alt="images" /></td></tr>'; } else { echo '<td><img src="' . GW_UPLOADPATH . 'ie.jpg' . '" alt="images" /></td></tr>'; } $i++; } echo '</table>'; mysqli_close($dbc); ?> <?php } ?> こちらでは表示されないのですが、 <?php require_once('appvars.php'); require_once('connectvars.php'); // Connect to the database $dbc = mysqli_connect(""); // Retrieve the score data from MySQL $query = "SELECT * FROM "; $data = mysqli_query($dbc, $query); // Loop through the array of score data, formatting it as HTML echo '<table>'; $i = 0; while ($row = mysqli_fetch_array($data)) { // Display the score data echo '<tr><td class="scoreinfo">'; echo '<span class="kakaku">' . $row['kakaku'] . '</span><br />'; echo '<strong>会社名:</strong> ' . $row['name'] . '<br />'; echo '<strong>住所:</strong> ' . $row['jyusyo'] . '</td>'; if (is_file(GW_UPLOADPATH . $row['gazou']) && filesize(GW_UPLOADPATH . $row['gazou']) > 0) { echo '<td><img src="' . GW_UPLOADPATH . $row['gazou'] . '" alt="image" /></td></tr>'; } else { echo '<td><img src="' . GW_UPLOADPATH . 'unverified.gif' . '" alt="Unverified kakaku" /></td></tr>'; } $i++; } echo '</table>'; mysqli_close($dbc); ?> こちらでは画像が表示されます。同じ階層でほぼ同じソースなのに何故前者のコードは画像が表示されないのでしょうか?

    • 締切済み
    • PHP
  • 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>

  • mysqli_stmtエラーの修正方法がわからない

    以下のエラーがわかりません。 Warning: mysqli_stmt::bind_param(): Number of variables doesn't match number of parameters in prepared statement in C:\xampp\htdocs\job_site4\search_criteria.php on line 62 Warning: mysqli_stmt::bind_result(): Number of bind variables doesn't match number of fields in prepared statement in C:\xampp\htdocs\job_site4\search_criteria.php on line 68 Warning: printf(): Too few arguments in C:\xampp\htdocs\job_site4\search_criteria.php on line 73 というエラーになりました。 以下ソースです。 /* 変数定義関連 */ /* mysqliの定義 */ global $mysqli; $mysqli = new mysqli('localhost', 'root', "", "db"); //$link = mysqli_connect('localhost', 'root', "", "db"); /* 接続状況をチェックします */ if (mysqli_connect_errno()) { printf("Connect failed: %s\n", mysqli_connect_error()); exit(); } print("<BR>"); /* 現在のデフォルトデータベース名を返します */ if ($result = $mysqli->query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database is %s.\n", $row[0]); $result->close(); } print("<BR>"); /* データベースを a_db に変更します */ $mysqli->select_db("a_db"); /* 現在のデフォルトデータベース名を返します */ if ($result = $mysqli->query("SELECT DATABASE()")) { $row = $result->fetch_row(); printf("Default database is %s.\n", $row[0]); $result->close(); } // データベースのdump echo "<pre>";var_dump($mysqli);echo "</pre>"; /* プリペアドステートメントを作成します */ $sql = " SELECT * FROM `test_table` WHERE 1 "; // バインドデータ設定 $key = 1; if($stmt = $mysqli->prepare($sql)) { /* マーカにパラメータをバインドします */ $stmt->bind_param("i",$key); // バインドする変数に設定して送る /* クエリを実行します */ $stmt->execute(); /* 結果変数をバインドします */ $stmt->bind_result($col1,$col2); // バインドする変数分設定 /* 値を取得します */ $stmt->fetch(); printf("%s : %s\n", $col1.$col2); /* ステートメントを閉じます */ $stmt->close(); } // 切断 $mysqli->close(); よろしくお願いします。

    • ベストアンサー
    • PHP
  • 文字化けが発生する

    MySQL4.1をデフォルト設定のまま使っています(UTF-8) phpMyAdminで、UTF-8の2バイト文字を登録し、参照するときちんと表示されるのですが、自分で作ったPHPスクリプトからデータを参照すると、「??????????」と完全に文字が壊れて表示されてしまいます。 PHPでは普通に $query = 'select * from table'; $result = mysql_query($query); while($row = mysql_fetch_array($result){ print_r($row); } とやっています。どこがおかしいのでしょうか?

    • ベストアンサー
    • MySQL

専門家に質問してみよう