2015-02-19 5 views
0

Я не могу понять, почему XAMPP дает мне ошибку

Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING) in C:\xampp\htdocs\Permanent\edstul.php on line 31

Line 31 это:

if($_POST){ 

//update the record if the form was submitted 
    $sql="UPDATE users SET pass='$_POST['pass']',fname='$_POST['fname']',lname='$_POST['lname']',mi='$_POST['mi']',age='$_POST['age']',course='$_POST['course']',yearlevel='$_POST['yearlevel']' 
    WHERE id=" . mysql_real_escape_string($_POST['id']); 

    if(mysql_query($sql)){ 
    //this will be displayed when the query was successful 
    echo "<div>Record was edited.</div>"; 
    }else{ 
    die("SQL: " . $sql . " >> ERROR: " . mysql_error()); 
    } 
} 

Я не могу понять это out.I действительно ненавижу объявляя SQL синтаксис, потому что он не имеет отладки.

+1

Не используйте устаревший 'mysql_ * API. используйте 'mysqli_ *' или pdo. А также использовать подготовленный отчет. Это безопаснее и гораздо читабельнее. – Jens

+0

Избавьтесь от одиночных кавычек в переменных $ _POST. '$ _POST ['pass']' => '$ _POST [pass]' –

+0

Еще лучше; предварительно определить свои переменные, дезинфицировать ваши входы; используйте подготовленный отчет. –

ответ

1

У вас есть какая-то ошибка PHP конкатенации, попробуйте с этим:

$sql="UPDATE users SET pass='". $_POST['pass'] . "', 
     fname='" .  $_POST['fname'] . "', 
     lname='" .  $_POST['lname'] . "', 
     mi='" .  $_POST['mi'] . "', 
     age='" .  $_POST['age'] . "', 
     course='" . $_POST['course'] . "', 
     yearlevel='" . $_POST['yearlevel'] . "' 
     WHERE id=" . mysql_real_escape_string($_POST['id']); 
+2

, и тогда у вас все еще будет проблема с инъекциями sql, и вы будете использовать устаревшее расширение mysql_ *. Но да, это исправит _immediate_, синтаксическую ошибку – VolkerK

+0

Правильный ответ, но вы должны упомянуть, что OP не должен использовать функцию mysql_ *, поскольку она устарела +1 –

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