2012-10-23 54 views
0

我不斷收到不同的解決方案的解析錯誤:語法錯誤,在第6行

Parse error: syntax error, unexpected T_STRING in /newref-exec.php on line 6 

我已經閱讀負載了這個問題,但非似乎工作

<?php 
// connect to database 
require($DOCUMENT_ROOT . "connect.php"); 
// check for blank entries 
if ($_POST[doi2] == "NULL"){ 
    echo "No Data to add"; 
    } 
    else 
    { 
    $sql="INSERT INTO ref (uid, date, doi, title, year, journal) 
    VALUES 
    ('1','CURDATE()','$_POST[doi2]','$_POST[title2]','$_POST[year2]','$_POST[journal2]')"; 
    if (!mysqli_query($link,$sql,$con)) 
     { 
     die('The Reference could not be added, beacuse of SQL Error:' . mysql_error()); 
     } 
     echo "New Reference Added"; 
    } 
?> 
+1

如果($ _ POST [ 'doi2'] == 「NULL」){ – koosa

+0

什麼是'$ DOCUMENT_ROOT',我希望* *你的意思'$ _ SERVER [ 'DOCUMENT_ROOT']'('register_globals'應永遠不會)。 –

回答

2

此行意外T_STRING,關鍵需要有引號,

if ($_POST['doi2'] == "NULL"){ 

另外,如果你想檢查empty條目,你需要普羅巴bly這樣做,

if ($_POST['doi2'] == ""){ //checking "NULL", checks for a string 'NULL' 
+0

是不是通常只是一個警告,而不是解析錯誤? –

+0

它不需要*,它應該。這會引發警告,而不是錯誤。 –

+0

還有很多其他需要報價的地方。與null比較時,不需要引號。 –

0

以下面的方式重寫代碼。

<?php 
// connect to database 
require($DOCUMENT_ROOT . "connect.php"); 
// check for blank entries 
if ($_POST['doi2'] == null){ 
    echo "No Data to add"; 
} else { 
     $doi2 = $_POST['doi2']; 
     $title2 = $_POST['title2']; 
     $year2 = $_POST['year2']; 
     $journal2 = $_POST['journal2']; 

     $sql="INSERT INTO ref(uid, date, doi, title, year, journal) VALUES('1', 'CURDATE()', '$doi2', '$title2', '$year2', '$journal2')"; 
     if (!mysqli_query($link, $sql, $con)) 
     { 
      die('The Reference could not be added, beacuse of SQL Error:' . mysql_error()); 
     } 
     echo "New Reference Added"; 
} 
?> 
+0

你改變了什麼? –

+0

你有很多報價問題。我更改了查詢中的$ _POST,並給出了我在查詢之前定義的變量。 –

+0

當與null比較時,您也不需要引號。 –

相關問題