好的,我从网页中提取了解析后的文本,并将其放在称为adtext的列中。脚本运行没有错误,并说将数据放入其中,但是当我手动检查行为空时!我在var_dump之后运行了return_between(),并且文本在那里,但是没有将其放入数据库。这是到目前为止的代码...

mysqli_query($conn, $query1);

    $link_result = mysqli_query($conn, $query1);
    $result = mysqli_fetch_assoc($link_result);


    file_get_contents($result['adlink']);
    $text_holder = file_get_contents($result['adlink']);

    return_between($text_holder, "postingBody", "<!-- .posting -->", EXCL);
    $final_text = return_between($text_holder, "postingBody", "<!-- .posting -->", EXCL);

    $query2 = "UPDATE usedcars SET adtext = $final_text WHERE `key` = $x";

    mysqli_query($conn, $query2);

    echo "<font color='#FFFF00'>Placing text from <font color='#00FF00'>$result[adlink]</font> into database</font><br>";

    $x++;
    }


我想念/忘记了什么?

最佳答案

您缺少$final_text周围的单个队列,

$query2 = "UPDATE usedcars SET adtext = '".mysqli_escape_string($conn, $final_text)."' WHERE `key`= $x";


并始终以生产中的错误通知您自己。通过像这样使用mysqli_error()

mysqli_query($conn, $query2) or die(mysqli_error());


mysqli不会自动使用bindparam保护您的查询

10-06 15:59
查看更多