我搜索了旧问题,但无法找到答案或围绕任何相关内容(PHP和MySQl的新功能,所以请放轻松)!
我有一个带有列的MySQL表:id,subid,name;我运行了这个查询:
CREATE TABLE mytable (id int(999999) NOT NULL auto_increment,subid varchar(99) NOT NULL,name varchar(99) NOT NULL,PRIMARY KEY (id),UNIQUE id (id),KEY id_2 (id))
从我想要设置为 $ latestsubid 的最新行的 subid 中的值,这就是我设法放在一起的内容:
<?
$user="me";
$password="blah";
$database="mydb";
$host="localhost";
mysql_connect($host,$user,$password);
@mysql_select_db($database) or die( "Unable to select database");
$query="SELECT subid FROM mytable";
$result=mysql_query($query);
$num=mysql_numrows($result);
mysql_close();
?>
如果有人能帮助我,那就太棒了!
答案 0 :(得分:3)
我不确定我是否理解你想要实现的目标,但是如果你想从具有最高“id”值的表行获得“subid”列值,你可以这样做:
$query="SELECT subid FROM mytable ORDER BY id DESC LIMIT 1";
$result=mysql_query($query);
$row = mysql_fetch_assoc($result);
$latest_subid = $row['subid'];
这将对id降序的表进行排序(因此返回的第一行是id最高的那个),然后将结果限制为1行,
答案 1 :(得分:2)
也许您需要找到subid
最大的行id
:
$query = "SELECT subid FROM mytable ORDER BY id DESC LIMIT 1";
$result = mysql_query($query) or trigger_error(mysql_error());
while ($row = mysql_fetch_assoc($result)) {
$latestsubid = $row["subid"];
}
这假设您的id
一直在增加。
答案 2 :(得分:2)
一衬垫:
$subid = mysql_result(mysql_query("SELECT subid FROM mytable ORDER BY id DESC LIMIT 1"),0);