Я не уверен, почему вы делаете это на PHP, учитывая, что вы можете достичь этого с помощью одного ОБНОВЛЕНИЯ.Возможно, вы пропустили биты, которые делают такие вещи, как определение того, какие записи уже были изменены?
Итак, я предполагаю, что вы действительно хотите сделать это в PHP, и что вы просто хотите запустить этот скрипт один раз , чтобы обновить поле таблицы prodpagetitle во всей таблице.
Один из вариантов - разделить его на отдельные сценарии.Иметь основной сценарий, который выполняет SELECT, а затем пропускает ОБНОВЛЕНИЯ, вызывая второй сценарий с данными для использования в переменных в GET.Например:
<?php
// Make a MySQL Connection
mysql_connect("localhost", "myusername", "mypassword") or die(mysql_error());
mysql_select_db("mydatabase") or die(mysql_error());
$result = mysql_query("SELECT isc_products.prodcode, isc_products.prodname, isc_categories.catname FROM isc_products, isc_categories WHERE isc_products.prodcatids = isc_categories.categoryid")
or die(mysql_error());
while ($row = mysql_fetch_array($result)) {
$pname = mysql_real_escape_string($row['prodname']);
$catname = mysql_real_escape_string($row['catname']);
$sitename = Sitename;
$title=sprintf("%s - %s - %s", $pname, $catname, $sitename);
$url=sprintf("http://example.com/update.php?pcode=%s&title=%s", $row['prodcode'], $title);
$junk=file_get_contents($url)
}
?>
и:
<?php
// This is update.php, called by the script above.
mysql_connect("localhost", "myusername", "mypassword") or die(mysql_error());
mysql_select_db("mydatabase") or die(mysql_error());
$qfmt="UPDATE isc_products SET prodpagetitle = '%s' WHERE prodcode='%s'";
mysql_query(sprintf($qfmt, $_GET['pcode'], urldecode($_GET['title']));
?>
Узел, который должен рассматриваться как ПРИМЕР кода.Я не проверял это и не планирую.Возможно, вы захотите включить некоторые средства для пометки ваших уже измененных полей, чтобы вы могли продолжить с того места, на котором остановились, если новый сценарий также истечет (что, вероятно, будет).Этот скрипт содержит уязвимости, и его следует запускать только в безопасной среде или со значительными изменениями, чтобы сделать его безопасным.