0

まず、画像のパスを使用して PHP で画像を表示する方法を知りたいですか? BLOB を使用せずに。

データベースにこのようにレイアウトされたテーブルがあります..

列: i1 i2 i3 i4 i5 i6 i7 i8

各フィールドは値を保持するか空です。

私は基本的に i1 i2 i3 i4 にあるものに従って i5 i6 i7 i8 の値を表示したいと思います。

例:

i1=a i2=b i3=e i4=q i5=g i6=l i7= i8=

この場合、g と l を表示したいと思います。しかし、値を配列に格納したい。

私はやってみました:

$list = array(g,l)
$query = " SELECT i5, i6, i7, i8  FROM Table WHERE i1 AND i2 AND i3 AND i4 IN ('$list') ";
$s = mysql_query($query);
while($data = mysql_fetch_array($s)){
    $r_1 = $data['i5'];
    $r_2 = $data['i6'];
    $r_3 = $data['i7'];
    $r_4 = $data['i8'];         
}
echo "$r_1  $r_2 $r_3  $r_4"`

私がしてもうまくいかない$list[0]

助けていただければ幸いです。ありがとう

4

2 に答える 2

2

まず、画像のパスを使用して PHP で画像を表示する方法を知りたいですか? BLOB を使用せずに。

画像を PhP で表示するのではなく、html で表示します。パスがわかっている場合は、src 属性を path に設定して、html で img タグを生成するだけです。

<img src="whatever your path is" alt="My Image" />

BLOB は、画像 (実際には大きなバイナリ データ、画像、動画など) を DB に直接格納するために使用されます。

于 2013-03-26T16:35:43.273 に答える
0
$s = mysql_query($query);
while($data = mysql_fetch_array($s)){

クエリ中にエラーがあるかどうかを確認していません。のドキュメントmysql_queryから:

SELECT、SHOW、DESCRIBE、EXPLAIN、および結果セットを返すその他のステートメントの場合、mysql_query() は成功するとリソースを返し、エラーの場合は FALSE を返します。

そうする:

$s = mysql_query($query);
if($s === FALSE) {
    // Do something to handle the error here, possibly calling die()
}

次の問題、結果が出なかったら?変数はすべて空になります。それをテストできます:

if(empty($r_1)) {
    echo "Oops, I guess we didn't get any results";
    // die()?
}

複数行の結果が得られた場合はどうなるでしょうか。あなたのプログラムがこれをどのように処理すべきかわかりません。

そして最後に、あなたの SQL クエリは、あなたが思っていることをしていないと思います:

SELECT i5, i6, i7, i8  FROM Table WHERE i1 AND i2 AND i3 AND i4 IN ('$list')

これi5により、i6i7、およびi8i1真、i2真、i3i4、文字列と等しい場合が得られます$list。それらすべてがリストにある結果を見つけたい場合は、複数のINステートメントを実行する必要があり$list、文字列ではなくリストとして渡す必要があります。クエリ文字列を作成してリストを MySQL に渡す方法については、この回答を参照してください。

また、mysql_*関数は非推奨であり、PDO またはmysqli_*関数の使用方法を実際に学習する必要があることに注意してください。それほど時間はかからず、安全なデータベース アクセスははるかに簡単です。

于 2013-03-26T17:28:00.313 に答える