Php SQL语法错误。更新表问题
我真的很讨厌那个错误信息,因为它是人类历史上最无用的错误信息 不管怎样,我想我已经盯着这个非常简单的Php SQL语法错误。更新表问题,php,sql,Php,Sql,我真的很讨厌那个错误信息,因为它是人类历史上最无用的错误信息 不管怎样,我想我已经盯着这个非常简单的sql看了一个小时,但对于它认为问题出在哪里,我还是一片空白。希望有人能帮我,或者是一些橡皮鸭能帮上忙 php代码: $sql = "UPDATE events SET titel = '$this->estart', endTime = '$this->eend',
sql
看了一个小时,但对于它认为问题出在哪里,我还是一片空白。希望有人能帮我,或者是一些橡皮鸭能帮上忙
php代码:
$sql = "UPDATE events SET titel = '$this->estart',
endTime = '$this->eend',
desc = '$this->desc',
dd = '$this->dDmed',
dato = '$this->dato',
ticketId = '$this->ticket' WHERE id = $this->id";
以及引发的SQL错误:
right syntax to use near 'desc = '2222222222222222',
dd = 'shop',
dato = '2015-01-14' at line 3[ UPDATE events SET titel = '08:30:00',
endTime = '09:00:00',
desc = '2222222222222222',
dd = 'shop',
dato = '2015-01-14',
ticketId = '2222222222222' WHERE id = 4]' in ....
表格布局:
id int(11)
titel varchar(200)
navn varchar(200)
email varchar(255)
tlf varchar(20)
domæne varchar(150)
kundNumb int(14)
abnId varchar(15)
startTime time
endTime time
desc text
ticketId varchar(20)
dd varchar(5)
dato date
希望有人能帮忙,我对那句sql
语句感到厌烦。你漏掉了一个逗号:
$sql = "UPDATE events SET titel = '$this->estart',
endTime = '$this->eend',
desc = '$this->desc',
dd = '$this->dDmed',
dato = '$this->dato',
ticketId = '$this->ticket' WHERE id = $this->id";
你漏掉了一个逗号:
$sql = "UPDATE events SET titel = '$this->estart',
endTime = '$this->eend',
desc = '$this->desc',
dd = '$this->dDmed',
dato = '$this->dato',
ticketId = '$this->ticket' WHERE id = $this->id";
你漏掉了一个逗号和一些“and”:
"UPDATE events SET titel = '".$this->estart."',
endTime = '".$this->eend."',
desc = '".$this->desc."',
dd = '".$this->dDmed."',
dato = '".$this->dato."',
ticketId = '".$this->ticket."' WHERE id = ".$this->id.";
你漏掉了一个逗号和一些“and”:
"UPDATE events SET titel = '".$this->estart."',
endTime = '".$this->eend."',
desc = '".$this->desc."',
dd = '".$this->dDmed."',
dato = '".$this->dato."',
ticketId = '".$this->ticket."' WHERE id = ".$this->id.";
票证ID中似乎存在错误我认为您正在使用票证ID作为数字类型或整数类型,并将其作为字符串传递
'$this->ticket'
删除“”,并将其保留为$this->ticket
票证ID中似乎存在错误我认为您正在使用票证ID作为数字类型或整数类型,并将其作为字符串传递'$this->ticket'
删除“”,并将其保留为$this->ticket
我相信会更改
ticketId = '$this->ticket'
到
应该行的。我相信改变
ticketId = '$this->ticket'
到
应该可以工作。问题在于
desc
字段DESC
是SQL语法中的一个关键字。因此,您将不得不引用带有背面记号的desc,如`desc`
更新事件集
`titel`='$this->estart',
`endTime`='$this->eend',
`desc`='$this->desc',
`dd`='$this->dDmed',
`dato`='$this->dato',
`ticketId`='$this->ticket'
其中id=$this->id
问题在于desc
字段DESC
是SQL语法中的一个关键字。因此,您将不得不引用带有背面记号的desc,如`desc`
更新事件集
`titel`='$this->estart',
`endTime`='$this->eend',
`desc`='$this->desc',
`dd`='$this->dDmed',
`dato`='$this->dato',
`ticketId`='$this->ticket'
其中id=$this->id
不是问题,只是我这边的一个类型错误。。thx tho:)问题仍然存在。逗号不是唯一的问题-仍然缺少一些语法,因此查询可以工作。是的,将新错误粘贴到我的原始帖子中并更正了我的类型错误:)问题是sameI认为Kiyan的答案是正确的。Desc是一个保留字,因此如果将其用作字段之一,则必须使用“或”“在您的查询或写入events.desc中,这不是问题,只是我这边的一个类型错误。”。。thx tho:)问题仍然存在。逗号不是唯一的问题-仍然缺少一些语法,因此查询可以工作。是的,将新错误粘贴到我的原始帖子中并更正了我的类型错误:)问题是sameI认为Kiyan的答案是正确的。Desc是一个保留字,因此如果将其用作字段之一,则必须使用“或”“在您的查询或write events.desc中,表结构是什么?ticketId是什么类型?”?在这里,您将它作为字符串传入,但它可能是int?此外,请检查日期是否为服务器的正确格式。票证id为xx-111-4444 3,因此是字符串而不是int:)表结构是什么?票证id是什么类型?在这里,您将它作为字符串传入,但它可能是int?另外,检查日期是否为服务器的正确格式。票证id为xx-111-4444 3,因此字符串不是int:)您注意到他的查询值打印正确了吗?在PHP中使用“
时,您可以调用字符串中的变量。在使用”
时,您不能。您是否注意到他的查询值打印正确?在PHP中使用“
时,您可以调用字符串中的变量。当使用“
时,您不能将.id作为intiger传递,我相信:$obj->id=intval(mysql\u real\u escape\u string($\u POST['id'));票证id是一个varchar,因为它是一个字符串:)id作为intiger传递:$obj->id=intval(mysql\u real\u escape\u string($\u POST['id']);票证id是一个varchar,因为它是一个字符串:)你在哪里对。。desc也是降序的,所以是一个保留字,所以它应该在desc
中,一旦我这样做了。。它起作用了。。对于任何可能遇到类似问题的人。在MySQL中,单引号不起作用,我不得不使用“最好避免它,因为它很容易混淆;)你说的对。。desc也是降序的,所以是一个保留字,所以它应该在desc
中,一旦我这样做了。。它起作用了。。对于任何可能遇到类似问题的人。在MySQL中,单引号不起作用,我不得不使用“最好避免它,因为它很容易混淆;)