2009-11-19 136 views
0

我的腳本有點問題。當我嘗試運行它時,只要我登錄了我的代碼,就會收到「解析錯誤:語法錯誤,意外的T_STRING」。當我改變所有'進入',然後我有同樣的錯誤,所以我必須改變所有'進'。Php腳本解決方案

這裏是我的代碼:

<?php 
     PutEnv(TNS_ADMIN='C:\Programy\OracleDeveloper10g\NETWORK\ADMIN\'); 
     $conn = oci_connect("user", "pass", "dbstring"); 
     if (!$conn) 
     { 
     $e = oci_error(); 
     print $e; 
     exit; 
     } 
     else 
     { 
     $stmt = OCIParse($conn, "SELECT password FROM USERS WHERE username=szymon"); 
     OCIExecute($stmt, OCI_DEFAULT); 
     while ($row = oci_fetch_array($stmt, OCI_ASSOC+OCI_RETURN_NULLS)) { 
     foreach ($row as $item) { 
     $password = $item; 
     } 
     if ($password != $_POST[password]){ 
      $stmt = OCIParse($conn, "EXECUTE drop_tables"); 
      $message = "Tabele zostały usunięte"; 
     } 
     else { 
      $message = "Podane hasło jest niepoprawne"; 
     } 
     } 
    } 
?> 
+2

據我所知,你發佈的代碼是無bug的... – miku 2009-11-19 18:04:18

回答

2

的問題是在TNS_ADMIN路徑中的反斜槓。最後一個反斜槓轉義結束'。

嘗試加倍所有反斜槓:

C:\\Programy\\OracleDeveloper10g\\NETWORK\\ADMIN\\ 
+0

這麼簡單,多虧了:) – szaman 2009-11-19 18:28:14

2

確保你逃避你\

2

在此行中:

PutEnv(TNS_ADMIN='C:\Programy\OracleDeveloper10g\NETWORK\ADMIN\'); 

的斜線導致進行轉義結束引號。試着這樣說:

PutEnv(TNS_ADMIN='C:\\Programy\\OracleDeveloper10g\\NETWORK\\ADMIN\\'); 
5

嘗試

putenv("TNS_ADMIN='C:\Programy\OracleDeveloper10g\NETWORK\ADMIN\'"); 

如果你看一下putenv()它顯示在引號的一切文檔。