0

Есть код :

                     <?php  

$query = "SELECT DISTINCT title FROM jos_categories";
$result = mysql_query($query);

$query2 = "SELECT DISTINCT metadesc FROM jos_categories";
$result2 = mysql_query($query2);



 while ($row=mysql_fetch_assoc($result))
                            {
                            $title = $row['title']; 
                            };
$meta_create = "UPDATE jos_categories SET metadesc = $title";
$result3 = mysql_query($meta_create);


?>

Нужно в поле metadesc вставить значение из поля title, но не вставляется...

ilyaaa521
  • 652
  • Выводите текст ошибки с помощью http://php.net/manual/ru/function.mysql-error.php И тогда вы увидите, что SQL ругается на то, что значение не заключено в кавычки – Mike Feb 09 '19 at 07:05
  • Правда смысла в этом нет никакого, вы сначала в цикле читаете по одному значению в переменную и после цикла в переменной разумеется находится всего одно значение. А после этого с помощью update помещаете это значение во все строки таблицы (потому что в update нет условия where, а следовательно он меняет все записи). Так что может и хорошо, что у вас там значение не в кавычках и ничего не работет ... – Mike Feb 09 '19 at 07:08
  • А как в таком случае поступить? Подскажите пожалуйста. – ilyaaa521 Feb 09 '19 at 07:10
  • Выводит значение Wizard сейчас в поле metadesc ... – ilyaaa521 Feb 09 '19 at 07:15
  • Для начала сформулировать задачу более точно. Сейчас вы берете уникальные значения title и пытаетесь писать их в другое поле таблицы. Уникальных title меньше, чем всего записей в таблице (если есть повторы, то будет выбрано только одно значение). После этого вы пытаетесь записать это значение в другое поле таблицы, но вы не указываете в какую именно строку. И в описании задачи не написали в какую строку таблицы его надо занести. Если как было в первой задаче, то вам дали ответ UPDATE jos_categories SET metadesc = title без всяких переменных, просто вот так, как есть – Mike Feb 09 '19 at 07:24
  • Не срабатывает без переменных... Значение Wizard как было так и есть. – ilyaaa521 Feb 09 '19 at 07:31
  • Значение title нужно записать в поле metadesc – ilyaaa521 Feb 09 '19 at 07:33
  • Таблица прямогульная, у нее есть строки и есть колонки. Вы пишите, что значение надо писать в колонку metadesc. Но если в вашей таблице скажем есть 3 строки, то в какую из этих строк, в колонку metadesc записать значение ? – Mike Feb 09 '19 at 07:36
  • Не совсем понимаю, что значит "то в какую из этих строк, в колонку metadesc записать значение ?", в моей таблице 27 полей, поле metadesc это поле номер 18 – ilyaaa521 Feb 09 '19 at 07:42

0 Answers0