卷曲,PHP - 环环路
我想是这样的:卷曲,PHP - 环环路
$i = 1;
$y = 1;
while($i <= 10 and $y <= 5)
{
if($i==10)
{
echo 'I = '.$i.', Y = '.$y.'<br>';
$i = 1;
$y = $y+1;
}
else
{
echo 'I = '.$i.', Y = '.$y.'<br>';
$i = $i + 1;
}
}
它返回
I = 1, Y = 1
I = 2, Y = 1
....
I = 1, Y = 2
I = 2, Y = 2
....
I = 1, Y = 3
I = 2, Y = 3
等,等,与卷曲使用。但它不起作用。我究竟做错了什么?
$i = 1;
$y = 1;
while($y <= 9)
{
while($i==499)
{
if($connection = db_connect())
{
$post = array('something' => 'abc', 'value_of_y' => ''.$y.'', 'value_of_i' => ''.$i.'');
$str = curl_grab_page('http://localhost/send.php?true=1','','off',$post);
$str2 = mysql_real_escape_string($str);
$sql = "INSERT INTO abc (txt) VALUES ('$str2')";
$i = 1;
$y = $y+1;
}
else
{
echo 'Database connection error!';
}
}
while($i != 499)
{
if($connection = db_connect())
{
$post = array('something' => 'abc', 'value_of_y' => ''.$y.'', 'value_of_i' => ''.$i.'');
$str = curl_grab_page('http://localhost/send.php?true=1','','off',$post);
$str2 = mysql_real_escape_string($str);
$sql = "INSERT INTO abc (txt) VALUES ('$str2')";
$i = $i + 1;
}
else
{
echo 'Database connection error!';
}
}
}
但是页面一直在载入,没有任何反应。我必须使用“if($ connection = db_connect()){”但我认为这是让我的代码搞乱了。你能看一下吗?谢谢。
我的解决办法如下:
$y = $x = 1;
if (!$connection = db_connect()) {
echo "connection failed!";
} else {
while ($y <= 9) {
$x = 1;
while ($x <= 499) {
// do your things with $x and $y, don't forget mysql_query() !
$x++;
}
y++;
}
}
+1,更清洁。 – davidethell 2012-07-16 10:19:48
不错,谢谢,它的作品:D – 2012-07-16 10:36:00
也许这是一个开始?
$sql = "INSERT INTO abc (txt) VALUES ('".$str2."')";
我不这么认为,因为它在没有while循环的情况下工作,但我也会尝试你的方式 – 2012-07-16 10:09:55
这种语法的工作原理并不是必需的。来自OP的INSERT代码将工作得很好,因为该字符串使用双引号。 – davidethell 2012-07-16 10:10:00
是的,这没有改变,仍然没有被添加到DB – 2012-07-16 10:11:45
你为什么要连接500次?我会先连接,然后开始循环。另外,两个cURL帖子是相同的:保持干爽;不要重复自己。 – 2012-07-16 10:10:31
如果你的数据库连接失败,你的循环将永远不会退出,因为你永远不会退出。 – davidethell 2012-07-16 10:18:31
你忘了的mysql_query($的SQL) – 2012-07-16 10:21:12