Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/276.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我如何在每次迭代时增加mysql中的行;至于;环_Php_Mysql_Mysqli - Fatal编程技术网

Php 我如何在每次迭代时增加mysql中的行;至于;环

Php 我如何在每次迭代时增加mysql中的行;至于;环,php,mysql,mysqli,Php,Mysql,Mysqli,我想让我的小脚本获取一个我已经插入到数据库中的链接,从该网页获取相关文本,并将其插入到同一行的不同列中。然后在下一排再做一次。我得到这个“类mysqli的对象无法转换为字符串”错误,但我不知道如何正确表示行号。这是我到目前为止得到的 更新好的,伙计们,感谢你们的帮助。我想我不清楚这件事。错误消息在显示$query1=“$conn,选择adlink,key FROM usedcars,其中key=$x”的行中显示它 或者至少,它现在是这么说的。我已经尝试了所有建议的解决方案,到目前为止,我只得到了

我想让我的小脚本获取一个我已经插入到数据库中的链接,从该网页获取相关文本,并将其插入到同一行的不同列中。然后在下一排再做一次。我得到这个“类mysqli的对象无法转换为字符串”错误,但我不知道如何正确表示行号。这是我到目前为止得到的

更新好的,伙计们,感谢你们的帮助。我想我不清楚这件事。错误消息在显示
$query1=“$conn,选择adlink,key FROM usedcars,其中key=$x”的行中显示它
或者至少,它现在是这么说的。我已经尝试了所有建议的解决方案,到目前为止,我只得到了一堆其他错误

for ($y=1;$y=1201;$y++)
    {
    $x = 1;

    $query1 = "$conn, SELECT adlink, key  FROM usedcars WHERE key = $x";

    $query2 = "$conn, INSERT INTO usedcars (adtext), VALUES ($final_text) WHERE key = $x";

    $link_result = mysqli_query($query1);

    $text_holder = file_get_contents($link_result);
    $final_text = parse_array($text_holder, "postingBody", "<!-- .posting -->");

    mysqli_query($query2);
    echo "<font size='18' color='#FFFF00'>Placing text from $link_result into database</font><br>"; 
    $x++;
    }
($y=1;$y=1201;$y++)的

{
$x=1;
$query1=“$conn,从usedcars中选择adlink,其中键=$x”;
$query2=“$conn,插入usedcars(adtext),值($final_text),其中key=$x”;
$link\u result=mysqli\u查询($query1);
$text\u holder=file\u get\u contents($link\u result);
$final_text=parse_数组($text_holder,“postingBody”,“”);
mysqli_查询($query2);
echo“将$link_结果中的文本放入数据库
”; $x++; }

我知道这可能很简单……我只是没有你们这么聪明。

首先检查所有带有
key=$x
的字段是否存在

使用
update
而不是
insert


其中
用于过滤@Eliel所说的现有结果,以不添加新结果

$query1 = "$conn, SELECT adlink, key  FROM usedcars WHERE key = $x";

$query2 = "$conn, UPDATE usedcars (adtext), VALUES ($final_text) WHERE key = $x";

$link_result = mysqli_query($query1);
如果要添加新的,请使用:

$query1 = "$conn, SELECT adlink, key  FROM usedcars WHERE key = $x";

$query2 = "$conn, INSERT INTO usedcars (adtext,***,***) VALUES ($final_text,***,***)"; // provide all necessary fields

$link_result = mysqli_query($query1);

使用
$query1=“$conn”时,从usedcars中选择adlink,其中key=$x”
并将其传递给
mysqli_query()
,则假定
$conn
为字符串,并尝试使用
$conn
作为字符串。这就是出现错误的原因

试试这个-

$query1 = "SELECT adlink, key  FROM usedcars WHERE key = $x";

$query2 = "UPDATE usedcars (adtext), VALUES ($final_text) WHERE key = $x";

$link_result = mysqli_query($conn, $query1);
这是你的问题

for ($y=1;$y=1201;$y++)
{
$x = 1;

$query1 = "$conn, SELECT adlink, key  FROM usedcars WHERE key = $x";

$query2 = "$conn, INSERT INTO usedcars (adtext), VALUES ($final_text) WHERE key = $x";

$link_result = mysqli_query($query1);

$text_holder = file_get_contents($link_result);
$final_text = parse_array($text_holder, "postingBody", "<!-- .posting -->");

mysqli_query($query2);
echo "<font size='18' color='#FFFF00'>Placing text from $link_result into database</font><br>"; 
$x++;
}
($y=1;$y=1201;$y++)的

{
$x=1;
$query1=“$conn,从usedcars中选择adlink,其中键=$x”;
$query2=“$conn,插入usedcars(adtext),值($final_text),其中key=$x”;
$link\u result=mysqli\u查询($query1);
$text\u holder=file\u get\u contents($link\u result);
$final_text=parse_数组($text_holder,“postingBody”,“”);
mysqli_查询($query2);
echo“将$link_结果中的文本放入数据库
”; $x++; }
我建议的问题

 $x = 1;//put it before loop, every loop this $x will become one and the incrementation doesn't take effect
for ($y=1;$y=1201;$y++)
{


$query1 = "$conn, SELECT adlink, key  FROM usedcars WHERE key = $x";

$query2 = "$conn, INSERT INTO usedcars (adtext), VALUES ($final_text) ";//remove your where

$link_result = mysqli_query($query1);

$text_holder = file_get_contents($link_result);
$final_text = parse_array($text_holder, "postingBody", "<!-- .posting -->");

mysqli_query($query2);
echo "<font size='18' color='#FFFF00'>Placing text from $link_result into database</font><br>"; 
$x++;
}
$x=1//把它放在循环之前,这个$x的每个循环都将变成一,并且增量不会生效
对于($y=1;$y=1201;$y++)
{
$query1=“$conn,从usedcars中选择adlink,其中键=$x”;
$query2=“$conn,插入到usedcars(adtext)中,值($final_text);//删除您的where
$link\u result=mysqli\u查询($query1);
$text\u holder=file\u get\u contents($link\u result);
$final_text=parse_数组($text_holder,“postingBody”,“”);
mysqli_查询($query2);
echo“将$link_结果中的文本放入数据库
”; $x++; }
为什么要在何处插入?以前从未见过。在这里见过:@SergeyScopin
其中
用于过滤现有结果。为什么不先整合所有输入,然后再插入数据?那会让我兴奋不已。我必须循环行以获得链接,然后将文本放入数组中,然后再次循环行以将文本放入对应于每个链接的行中?我一想到它就头疼。我宁愿循环一次,得到我需要的,做我该做的,然后把新的东西放在同一行的列中。这样,当循环完成时,整个事情就完成了。看起来更简单@半朋友我觉得这是个很棒的主意!不幸的是,当我这样做的时候,我仍然会犯同样的错误。谢谢你似乎已经解决了这个问题。非常感谢。但是现在它告诉我我的最后一个文本变量是未定义的。有什么想法吗?加一张支票。谢谢!我添加了括号…@Ronser