首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL内部连接在第一个周期后停止工作。

MySQL内部连接在第一个周期后停止工作。
EN

Stack Overflow用户
提问于 2012-01-27 19:40:25
回答 2查看 177关注 0票数 0

如果相册= 1,这是完美的,但之后拒绝完成查询。

代码语言:javascript
复制
function findThumbnail($album, $photo) {

    echo 'Variable Check : Album ='.$album.' & PHOTO = '.$photo; // this always works

$thumbQuery =   "SELECT albums.*, photos.*
            FROM photos
            INNER JOIN albums 
            ON photos.album_id = albums.album_id
            WHERE photos.album_id = $album AND photos.photo_id = $photo 
            "; 

    $thumbResult = mysql_query($thumbQuery);

    while($thumbData = mysql_fetch_array($thumbResult))
        {       
          $photo_filename = $thumbData['photo_filename'];   
          $album_directory = $thumbData['album_directory'];   
        }

        $thumbAddress = 'photos/'.$album_directory.'/thumbs/'.$photo_filename.'.jpg';

        return $thumbAddress;     


}

我看不到它。有没有人?

更新

(感谢大家对新人的善待)

我不知道如何更具体地处理查询(为$album输入除1以外的任何数字会导致其失败),但错误如下:

代码语言:javascript
复制
Notice: Undefined variable: album_directory in functions.php on line 80

第80行

代码语言:javascript
复制
$thumbAddress = 'photos/'.$album_directory.'/thumbs/'.$photo_filename.'.jpg';

有关的表格如下

代码语言:javascript
复制
+----------------+---------+------+-----+---------+----------------+
| Field          | Type    | Null | Key | Default | Extra          |
+----------------+---------+------+-----+---------+----------------+
| photo_id       | int(11) | NO   | PRI | NULL    | auto_increment |
| photo_filename | text    | YES  |     | NULL    |                |
| album_id       | int(10) | YES  |     | NULL    |                |
| photo_caption  | text    | YES  |     | NULL    |                |
+----------------+---------+------+-----+---------+----------------+

+----------------------+---------+------+-----+---------+----------------+
| Field                | Type    | Null | Key | Default | Extra          |
+----------------------+---------+------+-----+---------+----------------+
| album_id             | int(11) | NO   | PRI | NULL    | auto_increment |
| album_year           | int(2)  | YES  |     | NULL    |                |
| album_month          | int(2)  | YES  |     | NULL    |                |
| album_day            | int(2)  | YES  |     | NULL    |                |
| album_status         | int(2)  | YES  |     | NULL    |                |
| album_caption        | text    | YES  |     | NULL    |                |
| album_location       | text    | YES  |     | NULL    |                |
| album_title          | text    | YES  |     | NULL    |                |
| album_directory      | text    | YES  |     | NULL    |                |
| album_cover_filename | text    | YES  |     | NULL    |                |
+----------------------+---------+------+-----+---------+----------------+

为了回答“多少人”的问题,它应该返回一个。我不熟悉货邪教编程这个术语,但现在我不太熟悉这个词。

感谢您的时间评论!

EN

回答 2

Stack Overflow用户

发布于 2012-01-27 22:09:24

如果您的查询没有返回记录,因为您没有在while-循环之外定义$album_directory,则不会设置它,您将得到Notice: Undefined variable: album_directory in functions.php on line 80通知。

如果您的查询应该只返回一个结果,请考虑在查询的末尾添加一个LIMIT 1。与其在只期望一行时启动while循环,不如使用mysql_num_rows($thumbResult);的结果来确定返回的实际行数,然后使用mysql_fetch_array($thumbResult);获取数据。

票数 1
EN

Stack Overflow用户

发布于 2012-01-27 22:09:24

因此,基本上,通知告诉您您的内神经哈勃,而循环从来没有执行。这是因为一个faild查询或空结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9039069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档