好的,所以我试图从我的数据库中选择一个链接,从页面中获取文本,解析它,并将其放在同一行的不同列中,然后重复。我一直收到一个错误,说"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