Как в mysql массово добавить кейворды.

123
J
На сайте с 06.07.2011
Offline
169
#11
Dark_hawK:
а что возвращает пхп май админ при запросе SELECT id, title FROM w_content ?

Ничего не происходит - пустой файл.

Dark_hawK:
можно попробовать тогда добавить SELECT id, title FROM w_content where id != ''

после строчки while($row = $result->fetch_assoc()) { добавить var_dump($row['title']); и запустить ... должен выводиться title из базы

да, в логах выводится список, но кей не подставляется (

string(67) "the bautifull world"

string(169) "The most popular"

string(33) "Moscow is the capital"

и т д

Dark_hawK:
ps ну и раз уж такое дело в начало самое добавьте
error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set('display_errors',1);


<?php

error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set('display_errors',1);
$servername = "localhost";
$username = "user";
$password = "pass";
$dbname = "dbname";

$words = file('key.txt'); // читаем слова в массив построчно

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, title FROM w_content where id != ''"; // вытаскиваем из таблицы данные, тут лучше использовать LIMIT
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
var_dump($row['title']);
$new_title = '';
$rand_keyword = array_rand($words); // вытащили случайное слово из файла
$new_title = $row['title'] . " " . $rand_keyword; // добавили случайное слово к title
$sql2 = "UPDATE w_content SET title= '".$new_title."' WHERE id = '".$row['id']."'"; // обновили значение в базе
}

$conn->close();

?>

Вот код после нововедений.

Думаю нужно подправить строку апдейта в базе, только не получается:

$sql2 = "UPDATE w_content SET title= '".$new_title."' WHERE id = '".$row['id']."'"; // обновили значение в базе

[Удален]
#12

тогда после строчки

$new_title = $row['title'] . " " . $rand_keyword; // добавили случайное слово к title

var_dump($new_title); // должен вывестись новый тайтл с подставленным словом ...

смотрим что показывает, сорри конешно 🙄 но я думаю ты вводишь свои

$username = "user";

$password = "pass";

$dbname = "dbname";

🍿

J
На сайте с 06.07.2011
Offline
169
#13
Dark_hawK:
тогда после строчки
$new_title = $row['title'] . " " . $rand_keyword; // добавили случайное слово к title
var_dump($new_title); // должен вывестись новый тайтл с подставленным словом ...

смотрим что показывает, сорри конешно 🙄 но я думаю ты вводишь свои
$username = "user";
$password = "pass";
$dbname = "dbname";

🍿

Да, данныне свои ввожу конечно :)

Сейчас почему-то выводит копии, лог в два раза стал больше и копии такого плана (именно вконце копий цифра)

string(67) "the bautifull world"

string(67) "the bautifull world 29032"

string(169) "The most popular"

string(169) "The most popular 1843"

string(33) "Moscow is the capital"

string(33) "Moscow is the capital 23423"

[Удален]
#14

тогда убираем все var_dump`ы ... и эту строчку

$new_title = $row***91;'title'***93; . " " . $rand_keyword;

заменяем на

$new_title = $row['title'] . ' ' . $words[$rand_keyword];

var_dump($new_title); // должен выводить сгененренный тайтл

результаты в студию :)

J
На сайте с 06.07.2011
Offline
169
#15
Dark_hawK:
тогда убираем все var_dump`ы ... и эту строчку

$new_title = $row***91;'title'***93; . " " . $rand_keyword;

заменяем на
$new_title = $row['title'] . ' ' . $words[$rand_keyword];
var_dump($new_title); // должен выводить сгененренный тайтл

результаты в студию :)

Да, сейчас вывело новые дески в логах, но на сайте ничего не поменялось.

[Удален]
#16

отлично сейчас все заработает :) добавляем после

$sql2 = "UPDATE w_content SET title= '".$new_title."' WHERE id = '".$row['id']."'";

$result = $conn->query($sql2); // вот про это забыл, мой косяк

теперь все будет ок

J
На сайте с 06.07.2011
Offline
169
#17
Dark_hawK:
отлично сейчас все заработает :) добавляем после
$sql2 = "UPDATE w_content SET title= '".$new_title."' WHERE id = '".$row['id']."'";
$result = $conn->query($sql2); // вот про это забыл, мой косяк

теперь все будет ок

Сейчас ругается на 20 строчку:

Fatal error: Call to a member function fetch_assoc() on a non-object in /usr/my/s1.php on line 20

[Удален]
#18

что то ты там напутал походу выкладывай полностью что у тебя там

J
На сайте с 06.07.2011
Offline
169
#19
Dark_hawK:
что то ты там напутал походу выкладывай полностью что у тебя там


<?php

error_reporting(E_ALL);
ini_set('error_reporting', E_ALL);
ini_set('display_errors',1);
$servername = "localhost";
$username = "base";
$password = "base";
$dbname = "base";

$words = file('key.txt'); // читаем слова в массив построчно

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT id, title FROM w_content where id != ''"; // вытаскиваем из таблицы данные, тут лучше использовать LIMIT
$result = $conn->query($sql);
while($row = $result->fetch_assoc()) {
#var_dump($row['title']);
$new_title = '';
$rand_keyword = array_rand($words); // вытащили случайное слово из файла
# $new_title = $row['title'] . " " . $rand_keyword; // добавили случайное слово к title
$new_title = $row['title'] . ' ' . $words[$rand_keyword];
#var_dump($new_title);
$sql2 = "UPDATE w_content SET title= '".$new_title."' WHERE id = '".$row['id']."'"; // обновили значение в базе
$result = $conn->query($sql2); // вот про это забыл, мой косяк
}

$conn->close();

?>

[Удален]
#20

$result = $conn->query($sql2); замени на

$r = $conn->query($sql2); // все теперь уж точно не на что ругаться :)

123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий