嗨,请告诉我这是否是一个资源不足的代码,如果不是,我该怎么改呢?谢谢!
$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";
答案 0 :(得分:0)
因为您要返回一行,所以您应该执行以下操作:
$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,添加一个,保存回数据库
或者你可以使用自动增量(如果可能的话)。
答案 1 :(得分:0)
这种改进值得商榷,但是:
$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具有更高的优先级,因此可以在从另一个源插入之前读取 - 这会冒重复的风险。