<?php
if(!empty($_POST['id']))
{
$id= mysql_real_escape_string(trim($_POST['id']));
$nick = mysql_real_escape_string(trim($_POST['nick']));
$pwd = mysql_real_escape_string(trim($_POST['pwd']));
$name = mysql_real_escape_string(trim($_POST['name']));
$age = mysql_real_escape_string(trim($_POST['age']));
$query = mysql_query('UPDATE '.$config->db_prefix.'_info SET nick = "'.$nick.'",
pwd = "'.$pwd.'",
name = "'.$name.'" ,
age = "'.$age.'"
WHERE id = "'.$id.'"') or die (mysql_error());
if ($age==18)
{
$query = mysql_query('INSERT INTO '.$config->db_prefix.'_list (nick, pwd, name)
VALUES ("'.$nick.'", "'.$pwd.'", "'.$name.'")') or die (mysql_error());
}
}
?>
используйте двойные кавычки внутри одинарных а не наоборот, пхп парсит строку с двойными кавычками.
Зачем присваивать элементы массива $_POST одноименным переменным? используйте напрямую.
Крайне не советую использовать mysql: пользуйте параметризованные запросы mysqli или pdo. Потеряете чуток производительности но зато отделите данные от запроса.
Крайне не советую использовать переменную как префикс бд, преобразуйте в константу.
По синтаксису вроде все верно