首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >询问我的代码是否是低资源的代码

询问我的代码是否是低资源的代码
EN

Stack Overflow用户
提问于 2011-03-30 11:40:35
回答 2查看 64关注 0票数 0

您好,请告诉我,如果这是一个低资源的代码片段,如果它不是,我应该如何改变它?谢谢!

代码语言:javascript
复制
$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";
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-30 12:07:34

这种改进是有争议的,但是:

代码语言:javascript
复制
$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之前读取--这会有重复的风险。

票数 0
EN

Stack Overflow用户

发布于 2011-03-30 11:45:37

因为要返回一行,所以应该这样做:

代码语言:javascript
复制
$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,添加一个,保存回数据库。

或者你可以使用自动递增(如果可能的话)。

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

https://stackoverflow.com/questions/5481606

复制
相关文章

相似问题

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