Php 将单个(';)插入数据库失败

Php 将单个(';)插入数据库失败,php,Php,我有一个名为“eventName”的输入字段。每次我都会把单个引号(例如叔叔的生日)插入数据库。我的意思是根本没有数据会被发布到数据库中。系统只会说事件已保存,但数据库中未存储任何数据。您需要转义单引号。本例中使用的转义字符为“\”,您可以使用内置函数,如mysqli\u escape\u string或添加斜杠 在变量中添加单引号并将其添加到查询时,这将通过将单引号视为注释来更改查询。e、 g Insert into Table ('name') values ('uncle's birthd

我有一个名为“eventName”的输入字段。每次我都会把单个引号(例如叔叔的生日)插入数据库。我的意思是根本没有数据会被发布到数据库中。系统只会说事件已保存,但数据库中未存储任何数据。

您需要转义单引号。本例中使用的转义字符为“\”,您可以使用内置函数,如mysqli\u escape\u string或添加斜杠

在变量中添加单引号并将其添加到查询时,这将通过将单引号视为注释来更改查询。e、 g

Insert into Table ('name') values ('uncle's birthday');
您的查询在叔叔处结束,之后的部分将不被考虑,基本上这将导致失败。您还应该根据所使用的数据库检查错误代码

更新:


$eventName=添加斜杠($\u POST['eventName'])

您需要转义单引号。本例中使用的转义字符为“\”,您可以使用内置函数,如mysqli\u escape\u string或添加斜杠

在变量中添加单引号并将其添加到查询时,这将通过将单引号视为注释来更改查询。e、 g

Insert into Table ('name') values ('uncle's birthday');
您的查询在叔叔处结束,之后的部分将不被考虑,基本上这将导致失败。您还应该根据所使用的数据库检查错误代码

更新:


$eventName=添加斜杠($\u POST['eventName'])

>不要简单地添加斜杠,而是考虑准备好的语句,从而防止SQL注入攻击。这里的更多细节:

< P>而不是简单地添加斜杠,考虑准备好的语句,从而防止SQL注入攻击。这里有更多详细信息:

在将值写入数据库之前,最好先转义这些值


$escapedName=mysqli\u real\u escape\u字符串($\u POST['eventName'])

在将值写入数据库之前,最好先转义这些值


$escapedName=mysqli\u real\u escape\u字符串($\u POST['eventName'])

提供您的php代码,用于插入代码中的数据。然后尝试打印查询并尝试在phpmyadmin中手动执行它。然后你知道了错误。实际上,如果在查询中有一个单引号。它实际上执行第一部分。并产生误差。也就是说,单引号将查询分为两部分。如果你打印你的查询,你可以看到。或者,您可以使用html字符将单引号保存到数据库中。检索时会自动显示单引号。嗨,下面是代码$insert=mysql\u query(“插入
roomschedule
EventID
EventID\u重现
EventName
Date
StartTime
EndTime
组织者
批准人
保存的
会议类型
隐私
)值(“$EventID.”,'1','“$eventName.”、“$date.”、“$startTime.”、“$endTime.”、“$endTime.”、“$_会话['username']。”、“'.”、日期('Y-m-d H:i:s')、“$roomType.”、“$Visibility.”)或死亡(“无法插入错误:.mysql_错误());注意:您的代码对SQL注入是脆弱的。请看下面的帮助转义答案:提供php代码以插入代码中的数据。然后尝试打印查询并尝试在phpmyadmin中手动执行它。然后你知道了错误。实际上,如果在查询中有一个单引号。它实际上执行第一部分。并产生误差。也就是说,单引号将查询分为两部分。如果你打印你的查询,你可以看到。或者,您可以使用html字符将单引号保存到数据库中。检索时会自动显示单引号。嗨,下面是代码$insert=mysql\u query(“插入
roomschedule
EventID
EventID\u重现
EventName
Date
StartTime
EndTime
组织者
批准人
保存的
会议类型
隐私
)值(“$EventID.”,'1','“$eventName.”、“$date.”、“$startTime.”、“$endTime.”、“$endTime.”、“$_会话['username']。”、“'.”、日期('Y-m-d H:i:s')、“$roomType.”、“$Visibility.”)或死亡(“无法插入错误:.mysql_错误());注意:您的代码对SQL注入是脆弱的。请看下面这个帮助转义的答案:Hi uday8486,我没有收到任何错误响应,系统继续它的流,只是它没有保存信息。Hi#uday8486这是代码$eventName=$\u POST['eventName']$insert=mysql\u query(“插入
roomschedule
EventID
EventID\u重现
EventName
Date
StartTime
EndTime
组织者
批准人
保存的
会议类型
隐私
)值(“$EventID.”,'1','“$eventName.”、“$date.”、“$startTime.”、“$endTime.”、“$endTime.”、“$_会话['username']。”、“'.”、日期('Y-m-d H:i:s')、“$roomType.”、“$Visibility.”)或死亡(“无法插入错误:.mysql_错误());这是html事件名称:检查更新的答案,更改$eventName分配POST值的方式。您好uday8486,我没有收到任何错误响应,系统继续其流,只是它没有保存信息。嗨,这是代码$eventName=$\u POST['eventName']$insert=mysql\u query(“插入
roomschedule
EventID
EventID\u重现
EventName
日期