2013-10-30 71 views
-1

我有PHP文件里面的wamp服务器。当我在localhost中运行该文件时,会出现如下所示的错误。php文件没有显示错误

这是我的PHP文件:

<?php 
$response = array({ 
    "success": [ 
     { 
      "message": "Required field id missing" 
     }, 
     { 
      "message": "successfully created." 
     }, 
     { 
      "message": "Oops! An error occured" 
     } 
    ]} 
); 
  
if (isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description'])) { 
  
    $name = $_POST['name']; 
    $price = $_POST['price']; 
    $description = $_POST['description']; 
  

    require_once __DIR__ . '/db_connect.php'; 
  
     
    $db = new DB_CONNECT(); 
  
    
    $result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')"); 
  
    
    if ($result) { 
         
        $response["success"] = 1; 
        $response["message"] = "Product successfully created."; 
  
        
        echo json_encode($response); 
    } else { 
       
        $response["success"] = 2; 
        $response["message"] = "Oops! An error occurred."; 
  
     
        echo json_encode($response); 
    } 
} else { 
    
    $response["success"] = 0; 
    $response["message"] = "Required field(s) is missing"; 
  
     
    echo json_encode($response); 
} 
?> 

,当我在本地主机上运行它下面的错误显示,

(!) Parse error: syntax error, unexpected '{', expecting ')' in D:\wamp\www\android\create_product.php on line 2

还建议我,如何将localPath在浏览器中运行PHP文件。

+0

我猜你是混入PHP和JS ..! –

+0

是的。使用该问题的任何问题? – user2928135

+0

您的查询存在SQL注入风险。顺便说一句,你不需要在顶部的 – nik

回答

1

你的阵列格式是错误的,顺便说一句,你不需要它,因为你将消息发送到条件阵列,所以才删除该部分:

$response = array({ 
    "success": [ 
     { 
      "message": "Required field id missing" 
     }, 
     { 
      "message": "successfully created." 
     }, 
     { 
      "message": "Oops! An error occured" 
     } 
    ]} 
); 
+0

当我删除它,然后再次我得到错误 – user2928135

+0

@ user2928135你得到什么错误..? –

0

你的代码更好看这个:

  • 你不应该在每个条件语句结束后回显回应,你可以做一次。
  • 另外,当使用isset函数时,您可以根据需要添加尽可能多的参数。


isset($_POST['name']) && isset($_POST['price']) && isset($_POST['description']) 

等于:

isset($_POST['name'],$_POST['price'],$_POST['description']) 

决赛:

if (isset($_POST['name'],$_POST['price'],$_POST['description'])) { 

    $name = $_POST['name']; 
    $price = $_POST['price']; 
    $description = $_POST['description']; 


    require_once __DIR__ . '/db_connect.php'; 


    $db = new DB_CONNECT(); 


    $result = mysql_query("INSERT INTO products(name, price, description) VALUES('$name', '$price', '$description')"); 


    if ($result) { 
     $response["success"] = 1; 
     $response["message"] = "Product successfully created."; 
    } else { 
     $response["success"] = 2; 
     $response["message"] = "Oops! An error occurred."; 
    } 
} else { 
    $response["success"] = 0; 
    $response["message"] = "Required field(s) is missing"; 
} 

echo json_encode($response);