Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Общие вопросы > Обновление данных в базе


Автор: Just123 19.2.2010, 10:32
Доброго времени суток, столкнулся с проблемой, подскажите пожалуйста.

Код


$connect  = mysqli_connect($host, $login, $password, $dbname);
if (!$connect) {
    echo "Ошибка при подключении к базе данных.";
} 


$query1 = "SELECT * FROM xsl";
$result1 = mysqli_query($connect, $query1) or die(mysqli_error());
$number1 = mysqli_num_rows($result1);

$query = "SELECT * FROM baza";
$result = mysqli_query($connect, $query) or die(mysqli_error());
$number = mysqli_num_rows($result);

while ($row=mysqli_fetch_array($result1)) { 

    while ($row1=mysqli_fetch_array($result)) { 
    
                $row['tel'] = str_replace("$row1[old]", "$row1[new]", $row['tel']);
                $query = "UPDATE `xsl` SET `tel` = '$row[tel]' WHERE `sss` = '$row[sss]'";    
                $result2 = mysqli_query($connect, $query) or die(mysqli_error($connect));
    }
    
    

}

Код должен проверить телефон($row['tel']) из базы и если в нём присутствуют символы $row1[old], то заменить их на $row1[new]
Всего около 900 телефонов. Что в коде не так?

Буду премного благодарен за помощь.

Автор: Sanchezzz 19.2.2010, 10:51
Цитата

$row['tel'] = str_replace("$row1[old]", "$row1[new]", $row['tel']);

а так?
Код

$row['tel'] = str_replace($row1[old], $row1[new], $row['tel']);


Добавлено через 52 секунды
а ваще это дело можно сделать одним запросом...

Автор: Just123 19.2.2010, 10:54
Цитата

а так?

Так тоже не получается, проблема в том, что в базу не заносится. А сама функция работает.

Цитата

а ваще это дело можно сделать одним запросом...

Подскажите пожалуйста каким именно.

Добавлено @ 11:02
Хм...Он почему-то только первый номер из базы обновляет.

Автор: Sanchezzz 19.2.2010, 11:40
$sql = "UPDATE `xsl`AS b1 LEFT JOIN `baza` as x2
SET b1.newtel = `".$new_tel."` 
WHERE x2.oldtel= 'если равно искомой строке' ";

вроде так не провеля.. 
И я не доконца четсно понял вашу задачу  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)