您好,请告诉我,如果这是一个低资源的代码片段,如果它不是,我应该如何改变它?谢谢!
$query = 'SELECT MAX(ID) as maxidpost
FROM wp_posts';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
$postid = $row['maxidpost']+1;
echo "p=$postid";发布于 2011-03-30 12:07:34
这种改进是有争议的,但是:
$query = 'SELECT MAX(ID) +1 as maxidpost
FROM wp_posts';
$result = mysql_query($query) or die(mysql_error());
while($row = mysql_fetch_array($result)) {
echo "p = ". $row["maxidpost"];您可以在SQL语句中进行数学运算,从而省去了在PHP中进行运算的麻烦。
很高兴知道你用它来做什么--如果它是下一个要插入的id,使用AUTO_INCREMENT会更安全。SELECT语句通常比INSERT/UPDATE/DELETE具有更高的优先级,因此可以在从另一个源执行insert之前读取--这会有重复的风险。
发布于 2011-03-30 11:45:37
因为要返回一行,所以应该这样做:
$query = 'SELECT MAX(ID) as maxidpost FROM wp_posts';
$result = mysql_query($query) or die(mysql_error());
$row = mysql_fetch_row($result);
$postid = $row['maxidpost']+1;
echo "p=$postid";否则看起来就像你所能做的一样好。
您可以在每个帖子之后重新计算帖子代码。从零开始。从数据库中选择它,使用该id,添加一个,保存回数据库。
或者你可以使用自动递增(如果可能的话)。
https://stackoverflow.com/questions/5481606
复制相似问题