我正在尝试获取表格的行ID或行号。
这是我的代码。
<?php
include("config.php");
$imgtable_name = "thamana_gallery";
$image_name = "37a4d8b18493d91157b5c5e097e8bd1a6.jpg";
$sql_img = "SELECT 0 INTO @rowId";
mysql_query($sql_img);
$sql_img = "SELECT @rowId := @rowId + 1 as rowid, imgname from $imgtable_name where imgname='$image_name'";
$result_img = mysql_query($sql_img);
$imp_img = mysql_fetch_array( $result_img, MYSQL_ASSOC );
echo $image_name;
echo "<br/>";
echo $imp_img['rowid'];
echo "<br/>";
echo $imp_img['imgname'];
?>
我得到的结果如下:
++++++++++++++++++++++++++++++++++++++
37a4d8b18493d91157b5c5e097e8bd1a6.jpg
1
37a4d8b18493d91157b5c5e097e8bd1a6.jpg
++++++++++++++++++++++++++++++++++++++
图像名称位于表格的第6行,但结果为1.
我错过了什么?
答案 0 :(得分:0)
为什么不让id-column包含主索引和自动增量?然后,你可以检索
SELECT id, imgname FROM ...
答案 1 :(得分:0)
计算从数据库中检索的每一行的@row。如果要检索10行,则将从1到10进行计算,如果要检索特定行,因为限制名称,则只返回一行。
要将结果限制为具有特定rowId的行,您需要执行以下操作:
select * from
(
select @rowId := @rowId + 1 as rowid, imgname from TABLE_NAME order by imgname
) a
where
a.imgname=:IMG_NAME