为什么我的变量为NULL?尝试将mysql查询的结果放入变量中


Why is my variable NULL? Trying to put result from mysql query into variable

好的,所以我试图从我的数据库中选择一个链接,从页面中获取文本,解析它,并将其放在同一行的不同列中,然后重复。我一直收到一个错误,说"file_get_contents():文件名不能为空",所以我认为表示链接的变量必须为空。做了一个mysql_fetch_row($result);,果不其然,我的$link_result为NULL。我不明白为什么。帮助这是迄今为止的代码:

$x = 1;
    for ($y=1;$y=1201;$y++)
    {
    $query1 = "SELECT adlink, key  FROM usedcars WHERE key = $x";
    mysqli_query($conn, $query1);
    $link_result = mysqli_query($conn, $query1);
    file_get_contents($link_result);
    $text_holder = file_get_contents($link_result);
    return_between($text_holder, "postingBody", "<!-- .posting -->", EXCL);
    $final_text = return_between($text_holder, "postingBody", "<!-- .posting -->", EXCL);
    $query2 = "INSERT INTO usedcars (adtext) VALUES ($final_text) WHERE key = $x";
    mysqli_query($conn, $query2);
    echo "<font size='18' color='#FFFF00'>Placing text from $link_result into database</font><br>"; 
    $x++;
    }

我显然是新来的,所以我们非常感谢您的帮助。

您不使用file_get_contents来获取这些值

使用mysqli_fetch_*

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

如果需要多行,则使用while():

while($row = mysqli_fetch_assoc($link_result)) {
    $link = $row['adlink'];
}

key是mysql保留字。在周围使用细菌

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

并使用CCD_ 7或CCD_

这条线是错误的

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

并且不能在insert语句中使用where clause。但你可以这样做,我认为你需要update query而不是插入。

像这个

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

我不确定PHP,但在SELECT语句中,您使用了一个保留字key,必须使用类似的backtique来转义

SELECT adlink, `key`  FROM usedcars WHERE `key` = $x

同样,您的INSERT语句格式是错误的,如下所述。INSERT语句中没有使用WHERE子句。

INSERT INTO usedcars (adtext) VALUES ($final_text) WHERE key = $x
                                                    <-- Here

我想你是想做一个UPDATE,就像一样

UPDATE usedcars SET adtext = $final_text WHERE `key` = $x