脚本添加不起作用

时间:2015-04-29 18:55:25

标签: php mysql asp.net-web-api

简介

我正在尝试制作API。从数据库读取工作正常... 然而写信却失败了。

奇怪的是,当我复制查询error_log打印输出并将其粘贴到PHPMyAdmin时,它正确地添加了对象。

代码

的index.php

...
 else if($tag == 'addIngredient'){
    $name = $_POST['name'];
    $cal = $_POST['cal'];
    $fat = $_POST['fat'];
    error_log("name=".$name." cal=".$cal."fat=".$fat);
    if(!$db->addIngredient($name,$cal,$fat)){
        $response["error"] = TRUE;
        $response["error_msg"] = "addIngredient failed";
    }

 }
...

BDFunctions.php

...
public function addIngredient($name, $cal, $fat){
    $query= "INSERT INTO `ingredient` (`name`, `cal`, `fat`) VALUES('".$name."', ".$cal.", ".$fat.");";
    error_log($query);
    $result = mysql_query($query);
    if($result){return true;}
    return false;
}
...

我在apache日志中得到了这些打印件:...

  

[Wed Apr 29 20:46:58 2015] [错误] [client 192.168.1.9] name = testName cal = 50fat = 20   [Wed Apr 29 20:46:58 2015] [错误] [client 192.168.1.9] INSERT INTO ingredientnamecalfat)VALUES('testName ',50,20);

1 个答案:

答案 0 :(得分:0)

你应该赶上那里的mysql_error()。我还添加了sprintf()来帮助更好地准备语句。此外,我看不到您的数据库链接($link$con等)

的引用
public function addIngredient($name, $cal, $fat){
    $query= sprintf("INSERT INTO `ingredient` (`name`, `cal`, `fat`) VALUES ('%s', %d, %d);",
       $name,
       $cal,
       $fat
    );
    error_log($query);
    $result = mysql_query($query);
    if($result){return true;}
    error_log(mysql_errno($link) . ": " . mysql_error($link));
    return false;
}