1

html、php、および mysql を使い始めたばかりです。PHP を使用してデータベースに正常にログインし、クエリを作成しました。さらに一歩進んで、単なる文字列や数字ではなく画像を表示したいと考えています。

変数「result」は、この Web ページに表示したい画像への URL を持つ文字列を返します。どうすればいいですか?

<html>
<head>
<title>My First Question</title>
</head>
<body>

<?php

$dbhost = 'someURL.com';
$dbname = 'user';
$dbuser = 'user';
$dbpass = 'password';

$mysql_handle = mysql_connect($dbhost, $dbuser, $dbpass)
    or die("Error Connecting To Database Server");

mysql_select_db($dbname, $mysql_handle)
    or die("Error selecting database: $dbname");

echo 'Successfully connected to database!';

$first = 'bobbie';

$query = sprintf("SELECT image FROM Player 
    p WHERE name='%s'", mysql_real_escape_string($first));

$result = mysql_query($query);

mysql_close($mysql_handle);     

?>

</body>
</html>
4

5 に答える 5

10

PHP 内部では、これにより SQL 応答が使用可能な変数に変わります。

$result = mysql_fetch_assoc(mysql_query($query));

PHP タグの外側で、テーブルから IMG 要素の SRC に URL をエコーし​​ます。

<img src="<?= $result['url_column_name'] ?>"/>

これにより、SQL クエリから取得した URL をソースとする新しい IMG 要素が作成されます。

短いタグは、HTML で PHP 変数をエコーする方法でもあります。

<?= $var1, $var2 ?>

を使用するのと同等です

<?php echo $var; echo $var2; ?>
于 2012-11-01T07:24:32.637 に答える
3

これは、関連する HTML をエコーする単純なケースです。また、クエリを実行した後に結果を取得する必要があります -

$result = mysql_query($query);     
$data = mysql_fetch_assoc($result);
echo '<img src="'.$data['image'].'" />;

セキュリティを強化するために、イメージ パス内の不要な HTML コンテンツをエスケープすることをお勧めします - htmlspecialchars($data['image']).

ここでは、非常に古い非推奨の方法を使用してデータベースにアクセスしていることにも注意してください。より最新の PDO メソッドを使用するようにコードを更新することを検討することをお勧めします。

于 2012-11-01T07:21:42.017 に答える
2

だから何?画像のソースとして使用するだけです

<?php $imgname = mysqli_fetch_array($connection, $result); ?>
<img src="<?php echo $imgname['image_column_name']; ?>" />

そして、コミュニティとして使用するmysqli_()か、PDO代わりに使用mysql_()することは、もはやそれを維持していません

于 2012-11-01T07:23:00.443 に答える
1

mysqlをmysqliに更新すると、次のようにhtmlimgタグで画像のURLをエコーできます。

echo '<img src="'.$result['image'].'"/>';
于 2012-11-27T07:35:56.363 に答える
0
<?php

$dbhost = 'someURL.com';
$dbname = 'user';
$dbuser = 'user';
$dbpass = 'password';

$mysql_handle = mysql_connect($dbhost, $dbuser, $dbpass)
    or die("Error Connecting To Database Server");

mysql_select_db($dbname, $mysql_handle)
    or die("Error selecting database: $dbname");

$first = 'bobbie';

$query = sprintf("SELECT image FROM Player 
    p WHERE name='%s'", mysql_real_escape_string($first));

$result = mysql_query($query);

mysql_close($mysql_handle);     
header("Location: $result");
?>

動作するはずです

于 2012-11-01T07:24:30.727 に答える