我正在尝试制作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
ingredient
(name
,cal
,fat
)VALUES('testName ',50,20);
答案 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;
}