我想根据用户在项目组合框中选择的内容,在mysql的数据库中的表中添加项目。
例如:如果一个人选择茶(这个事件应该在我的表中填充茶柱)并填充数量为2然后我想在mysql表中的列名茶下添加2。我尝试使用更新语句,但是语法不正确会出错。如果用户选择茶或咖啡,那么表中填写的列会发生变化,这就是我使用{{1 }}
"+this.items.Text+"

答案 0 :(得分:0)
我可能会在您的查询中看到可能导致问题的几点。所以让我们来看看:
$user = new Users();
$user->setUsername($paramFetcher->get('email'));
$password = $paramFetcher->get('password');
$user->setUserType('business');
if($password==""){
$user->setPassword(rand(0,1000));
}else{
$user->setPassword($password);
}
$data['UserDetails']['id'] = $user->getId();
$data['UserDetails']['username'] = $user->getUsername();
$data['UserDetails']['password'] = $user->getPassword();
$data['UserDetails']['usertype'] = $user->getUserType();
$em->persist($user);
$em->flush();
//print_r($data); print_r($buss);
$response[]=array("code"=>200,"message"=>"success","data"=>$data);
请确保将正确的数据输入数据库。在SQL查询中,如果在文本或varchar字段中输入文本,则需要确保没有空格。你在上面输入的是“TEXT”而不是“TEXT”(注意空格)。以下内容将在开头和结尾处输入没有空格的文本:
SET department = ' " + this.department.Text + " ',
导致错误的最可能原因是:
SET department = '" + this.department.Text + "',
我假设您的billno列被定义为int(这是正确的)。但你必须确保插入它。通过使用'(单个brakets),您尝试将文本输入int字段,这将导致错误。我无法肯定地说,因为我看不到要更新数据的表的表定义。
还有什么可能导致问题的是列名称错误:
billno = ' " + this.bill_no_txt.Text + "'
将多次输入错误的“'Columnname'”(带有“'”AND空格)。它可能应该是“Columnname”。尝试没有空格,没有单个背包:
' " + this.items.Text + " ' = ' " + this.quantity.Text + " ' ,
' " + this.items.Text + " '
尽管如此,我认为你的数据库存在架构问题...如果你有30种不同的饮料,你需要有30列,这可以通过三列表和一个列之间的关系完成两列表。我建议你先看一下。
见下更正的查询,但请确保您了解更改:
" + this.items.Text + " = '" + this.quantity.Text + "' ,