2014-11-16 2 views
0
$query = "UPDATE $abc_tbl ". 
    "SET nationality={$_SESSION['Nationality']},". 
    "gender={$_SESSION['gender']} ,". 
    "dob={$_SESSION['DoB']},". 
    "contact={$_SESSION['contact']},". 
    "address='{$_SESSION['address']},". 
    "level={$_SESSION['Level']},". 
    "course={$_SESSION['Course']},". 
    "mode_study={$_SESSION['ModeStudy']},". 
    "semester={$_SESSION['Semester']},". 
    "degree={$_SESSION['Degree']},". 
    "major={$_SESSION['Major']},". 
    "gpa={$_SESSION['GPA']},". 
    "inst={$_SESSION['Institution']},". 
    "docs=$target_file)". 
    "WHERE (uname=$uname)"; 

$result=mysql_query($query) or die ("this stuffedup"); 

if ($result) { 
    $_SESSION['success'] = "Done"; 
    header("location: Application_Success.php"); // Redirecting to success page 
} 

Я попробовал несколько синтаксисом, но до сих пор запрос не работаетPHP Обновление таблицы

Просьба не знаю, почему эта информация не хранится в моей таблице

Спасибо

+0

Stack Отрывки предназначены исключительно для HTML/CSS/JS вопросы. PHP недействителен в них. –

+0

Не используйте mysql_query; он устарел и восприимчив к атакам SQL-инъекций ... – sockfd

ответ

0

Вам нужно обернуть текстовое значение в кавычки. например.

$query = "UPDATE $abc_tbl ". 
      "SET nationality='{$_SESSION['Nationality']}',". 
      "gender='{$_SESSION['gender']}',". 

..... 
..... 

Но вы должны использовать некоторые лучшие варианты, как mysqli или PDO, как рекомендуют по @Niet Темную Absol

Использование prepared statements and parameterized queries службы, как MySQLi/PDO и т.д. поможет вам защитить вашу БД от уязвимости, как SQL Injection и так на.

+0

Возможно, было бы лучше рекомендовать подготовленные заявления, такие как PDO. –

+0

@NiettheDarkAbsol Да, я нахожусь на 200% с вами. Я просто ответил в соответствии с контекстом OP. Спасибо, сэр. – thecodeparadox

+1

Я бы сказал, что вы ответили бы лучше, сказав: «Не делайте этого, делайте это вместо этого, потому что X, Y, Z». Вы будете делать этого пользователя, а интернет в целом - гораздо лучший сервис. SQL Injection должен 'die()'. –

0

Просто инициализируйте переменные сеанса в обычной переменной php, а затем передайте их в sql-запрос.

$gender=$_SESSION['gender']; 
$DoB=$_SESSION['DoB']; 
$Nationality=$_SESSION['Nationality']; 
query = "UPDATE $abc_tbl ". 
     "SET nationality=' $Nationality',". 
      "gender= '$gender' ,". 
      "dob=$DoB,". 
      " ....... 
      ". 
      "docs='$target_file' ". 
      "WHERE (uname='$uname')"; 

// ....... means finish up your query in a given order 

это должно работать

Смежные вопросы