2012-07-18 40 views
-1

我使用jQuery来调用PHP脚本来更新MYSQL db,但首先根据值进行逻辑测试。这个问题,我发现如果我这样构建我的查询,我得到错误Query was empty由JQuery AJAX触发的PHP比较未返回值

从逻辑上说,我试图解决测试无济于事。任何帮助将非常感激。

$type= trim($_POST['type']); 
if($type == "wanted") { 
    $qUpdate = "UPDATE Post... 
} 

回答

0

的解决方案似乎是我比较不比较苹果和苹果:

if ($type == mysql_real_escape_string("wanted"))

0

POST可能无法通过正常的AJAX

$type= trim($_REQUEST['type']); 
if($type == "wanted") { 
    $qUpdate = "UPDATE Post..."; 
    // Query must be correct in syntax ,I think its intentional for demo purpose 
    if(mysql_query($qUpdate)) { 
    echo "success"; 
    } 
    else { 
    echo "fail"; 
    } 
} 

这种 “成功” 和 “失败” 的文本会得到作为您的Ajax响应

+0

另一块拼图,如果我删除IF语句时,查询帖子成功。 – michael 2012-07-18 23:30:52

0

尝试$ _GET获得[ '型'], php脚本是从url中调用的,而不是从表单中调用。所以这是一个$ _GET参数,而不是$ _ POST

+0

我忘了提到我从这个AJAX声明中调用了这个: type:“POST”, – michael 2012-07-18 23:28:53

0

你应该检查你的查询,并确保它是正确的,并且变量被剥离,试试这个

$type = mysql_escape_real_string($_POST['type']); 
$sql = "UPDATE table....." 
//query the code and ensure if there's an error kill the script 
$res = mysql_query($sql) or die(mysql_error()); 

让我知道你上车!:)