1

我刚刚开始使用 html、php 和 mysql。我已经使用 php 成功登录到我的数据库,并形成了一个查询。我现在想更进一步,展示一张图片,而不仅仅是字符串或数字。

变量“结果”将返回一个字符串,该字符串包含我想在此网页上显示的图像的 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 标记之外,将表中的 URL 回显到 IMG 元素的 SRC 中。

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

这将创建一个新的 IMG 元素,其源是您从 SQL 查询中获取的 URL。

短标签也是在 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 后,您可以在 html img 标记中回显图像的 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 回答