Сценарий добавления не работает

Вступление

Я пытаюсь сделать 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: …

[Ср 29 Апр 20:46:58 2015] [ошибка] [клиент 192.168.1.9] name = testName cal = 50fat = 20
[Ср 29 Апр 20:46:58 2015] [ошибка] [клиент 192.168.1.9] INSERT INTO ingredient (name, cal, fat) VALUES (‘testName’, 50, 20);

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;
}
0

Другие решения

Других решений пока нет …