[英]How to set min(value) variable as 0 when no value is returned by the sql query
[英]PHP set variable value again for sql query not working
您好,我的问题很简单,但我不明白为什么会这样工作。
当我一次设置了varialbe $ query之后,再次设置它不起作用。 仅当对变量使用其他名称时,例如$ query2,它才有效。
作品:
$connect = mysql_connect("","","") or die(mysql_error());
mysql_select_db("");
$query = "select post_title,id from wp_posts where post_status='publish'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
WHILE 1
$query2 = "SELECT meta_key FROM `wp_postmeta` WHERE post_id='$id'";
$result2 = mysql_query($query2);
while($row2 = mysql_fetch_row($result2))
{
WHILE 2
}
}
无效:
$connect = mysql_connect("","","") or die(mysql_error());
mysql_select_db("");
$query = "select post_title,id from wp_posts where post_status='publish'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
WHILE 1
$query = "SELECT meta_key FROM `wp_postmeta` WHERE post_id='$id'";
$result = mysql_query($query);
while($row2 = mysql_fetch_row($result))
{
WHILE 2
}
}
您不仅要更改$query
变量,还要更改$result
。 这是你的while
,搞砸了第一个结果集。 您只需要分配一个新的结果集。
这将起作用:
$query = "select post_title,id from wp_posts where post_status='publish'";
$result = mysql_query($query);
while($row = mysql_fetch_row($result))
{
WHILE 1
$query = "SELECT meta_key FROM `wp_postmeta` WHERE post_id='$id'";
$result2 = mysql_query($query);
while($row2 = mysql_fetch_row($result2))
{
WHILE 2
}
}
$result
是代表查询结果的HANDLE。 您的第二个查询将覆盖第一个查询的结果,从而有效地杀死第一个查询的结果:
$result = mysql_query($query1);
while($row = mysql_fetch_row($result)) {
$result = mysql_query(...);
^^^^^^^---- overwrite occurs here
您运行查询1,开始循环,运行查询2。 该查询的结果替换了第一个查询的结果,并且完全由内部while()循环使用。 当内部循环完成并且控制权返回到外部循环时,此新的$result
句柄中没有更多数据,因此外部循环也终止。
这是因为您在片刻内使用,这意味着您第二次使用:
$result = mysql_query($query);
while($row2 = mysql_fetch_row($result))
将覆盖您的第一个$result
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.