2014-11-06 3 views
0

Я хочу, чтобы мой маленький скрипт взял ссылку, которую я уже вставлял в базу данных, получаю соответствующий текст с этой веб-страницы и вставляем ее в другой столбец той же строки. Затем сделайте это снова в следующей строке. Я получаю этот «объект класса mysqli не может быть преобразован в строку», но я не уверен, как правильно представлять номер строки. Вот что я до сих пор.Как увеличить строку в mysql на каждой итерации цикла for?

ОБНОВЛЕНИЕ Хорошо, ребята, я ценю вашу помощь. Думаю, я не понимаю. Сообщение об ошибке говорит об этом в строке, которая говорит $query1 = "$conn, SELECT adlink, key FROM usedcars WHERE 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++; 
    } 

Я знаю его, вероятно, что-то простое ... Я просто не так умен, как вы, ребята.

+2

Почему вы вставляете ГДЕ? Никогда не видел этого раньше. –

+0

Пила его здесь: http://www.w3schools.com/sql/sql_where.asp @SergeyScopin – tommyg

+1

'WHERE' используется для фильтрации существующих результатов. – Eliel

ответ

0

При использовании $query1 = "$conn, SELECT adlink, key FROM usedcars WHERE key = $x"; и передать его в mysqli_query(), то $conn предполагается в виде строки, и он пытается использовать $conn в string.Thats почему приходит ошибка.

попробовать это -

$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); 
+0

Это, похоже, позаботилось об этом. Спасибо! Но теперь он говорит мне, что моя переменная final_text не определена. Есть идеи? – tommyg

+0

добавьте для этого чек. –

1

первая проверка, существует ли все поля с key = $x

использование update вместо insert

WHERE используется для фильтрации существующих результатов по словам @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); 
+0

Спасибо! Я добавил круглые скобки ... @ Ronser – tommyg

+0

приветствуется ... – Ronser

0

это ваш запрос

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++; 
} 

Мой запрос предложил

$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++; 
} 
+0

Я думал, это потрясающая идея! К сожалению, я все еще получаю ту же ошибку, когда я это сделал. благодаря – tommyg

Смежные вопросы