An exception occurred while executing 'INSERT INTO Answer (name_of_answ, right, Question_id) VALUES (?, ?, ?)' with params ["ок", 1, 133]:
SQLSTATE[42000]: Syntax error or access violation: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'right, Question_id) VALUES ('ок', 1, 133)' at line 1
Перечитал много форумов и везде пишут, чтоб при такой ошибке ставили скобки и всё будет окей, но запрос-то генерирую не я. Вот мои сущности
Answer:
namespace AppBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Table(name="Answer")
* @ORM\Entity()
*/
class Answer
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\Column(type="string", length=50)
*/
private $nameOfAnsw;
/**
* @ORM\Column(type="boolean")
*/
private $right;
/**
*
* @ORM\ManyToOne(targetEntity="Question",inversedBy="QuizQuestions")
* @ORM\JoinColumn(name="Question_id", referencedColumnName="id", onDelete="cascade")
*/
private $idQuestion;
public function getId(): int
{
return $this->id;
}
public function setnameOfAnsw(string $nameOfAnswer)
{
$this->nameOfAnsw=$nameOfAnswer;
}
public function getnameOfAnsw()
{
return $this->nameOfAnsw;
}
public function setRight(bool $right)
{
$this->right=$right;
}
public function getRight()
{
return $this->right;
}
public function setIdQuestion( $idQuestion)
{
$this->idQuestion=$idQuestion;
}
public function getQuestion_id()
{
return $this->idQuestion;
}
}
Question:
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;
/**
* @ORM\Table(name="Question")
* @ORM\Entity()
*/
class Question implements \Serializable
{
/**
* @ORM\Column(type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $Id;
/**
* @ORM\Column(type="string", length=60, unique=false)
*/
private $name_of_question;
public function getId():int
{
return $this->Id;
}
public function setNameOfQuestions(string $nameOfQuestion)
{
$this->name_of_question=$nameOfQuestion;
}
public function getname_of_question()
{
return $this->name_of_question;
}
/** @see \Serializable::serialize() */
public function serialize()
{
return serialize(array(
$this->Id,
$this->name_of_question,
));
}
/** @see \Serializable::unserialize() */
public function unserialize($serialized)
{
list (
$this->Id,
$this->name_of_question,
) = unserialize($serialized);
}
}
И вот собственно сам контролер
/**
* @Route("/admin/questionedit/add", name="/admin/questionedit/add")
* @Method("GET")
*/
public function AddAction()
{
$em = $this->getDoctrine()->getManager();
$question= new Question();
$question->setNameOfQuestions($_GET['questions']);
$em->persist($question);
$em->flush();
$true=true;
$false=false;
$answer1 = new Answer();
$answer1->setnameOfAnsw($_GET['answer1']);
if ($_GET['trueAnswer']=="1")
{
$answer1->setRight('true');
}else
{
$answer1->setRight('false');
}
$answer1->setIdQuestion($question);
$em->persist($answer1);
$answer2 = new Answer();
$answer2->setnameOfAnsw($_GET['answer2']);
if ($_GET['trueAnswer']=="2")
{
$answer2->setRight("$true");
}else
{
$answer2->setRight("$false");
}
$answer2->setIdQuestion($question);
$em->persist($answer2);
$answer3 = new Answer();
$answer3->setnameOfAnsw($_GET['answer3']);
if ($_GET['trueAnswer']=="3")
{
$answer3->setRight("true");
}else
{
$answer3->setRight("$false");
}
$answer3->setIdQuestion($question);
$em->persist($answer3);
$answer4 = new Answer();
$answer4->setnameOfAnsw($_GET['answer4']);
if ($_GET['trueAnswer']=="4")
{
$answer4->setRight("$true");
}else
{
$answer4->setRight("$false");
}
$answer4->setIdQuestion($question);
$em->persist($answer4);
$em->flush();
return new Response("Hello");
}
Заранее извиняюсь за ужасно некрасивый код. Параметры все передаёт верные. Все геты рабочие. И вот такой запрос генерит
INSERT INTO Answer (name_of_answ, right, Question_id) VALUES (?, ?, ?)' with params ["\u043e\u043a", 1, 133]
Хочу сделать возможным редактирование конкретной статьи, а не всех имеющихся, не могу построить правильный запрос:
Проблема следующая: Пытаюсь вывести значения кастомных полей размещенных во вкладках, например: вкладка 1, вкладка 2, и тд
Видел подобные вопросы но там идет отправка Только файла, а не как у меня Файл + строковые данные формыСобственно сам вопрос есть форма приводить...