【问题标题】:Random Picture From Database MYSQL来自数据库 MYSQL 的随机图片
【发布时间】:2013-07-11 12:32:31
【问题描述】:

您好,尝试从我的数据库中获取 7 张随机照片,其中 type='img'

一些代码

<?php
$ilosc= 7;
$Query='SELECT * FROM tentego_img WHERE type = 'img' ORDER BY RAND() LIMIT '.$ilosc;
$QueryResult=mysql_query($Query);

while($Kol=mysql_fetch_array($QueryResult)){
echo('<td style="border: 0px"><a href="/img/'.$Kol['id'].'/'.$Kol['title'].'/"><img src="/upload/'.$Kol['src'].'" alt="'.$Kol['title'].'" title="'.$Kol['title'].'" width="120px" height="120px" /></a></td> ');
}
?>

所以应该抓到 7 张 type= img 的随机照片,但不知道代码有什么问题

当查询看起来像`

$Query='SELECT * FROM tentego_img  ORDER BY RAND() LIMIT '.$ilosc;`

工作正常,但我只需要显示 type=img 的照片

请帮忙

干杯

【问题讨论】:

  • 好吧,你在 PHP 中有一个语法错误会杀死脚本。 'img1' 在您的查询中正在终止字符串...
  • 在 $Query 中使用双引号...
  • 试试这个它会起作用 $Query="SELECT * FROM tentego_img WHERE type = 'img' ORDER BY RAND() LIMIT ".$ilosc;
  • 请考虑使用PDO代替mysql_*; mysql_connect 等已弃用,您的代码对 SQL 注入开放。

标签: php mysql database random


【解决方案1】:

使用不同的字符:

$Query="SELECT * FROM tentego_img " .  
        "WHERE type='img' ORDER BY RAND() LIMIT ".$ilosc;

或转义单引号:

$Query='SELECT * FROM tentego_img ' .
        'WHERE type=\'img\' ORDER BY RAND() LIMIT '.$ilosc;

【讨论】:

    【解决方案2】:

    您必须转义 ' 字符或在字符串周围使用 "

    $Query = "SELECT * FROM tentego_img WHERE type = 'img' ".
             "ORDER BY RAND() LIMIT ".$ilosc;
    

    【讨论】:

      猜你喜欢
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 2012-09-02
      • 1970-01-01
      相关资源
      最近更新 更多