PHP变量进入mySQL表: not working?

标签 php mysql database variables

这与我不久前问过的问题类似,但这似乎没有引起任何答案,所以我会再试一次。

我有一个您登录的预订系统,您的用户名存储在名为 $_COOKIE['ID_my_site'] 的 Cookie 中。我有一个脚本,在用户预订航类后运行,该脚本将所有详细信息存储到一个表中(名为 OABS_customers),该脚本工作正常,但是不起作用的一行是 username 行,将 $_COOKIE['ID_my_site'] 添加到该行中。

该表的结构如下:

Name         Type(Length)    Null     Default

name         varchar(60)     No       noname
address1     varchar(60)     No       noaddress
address2     varchar(60)     No       noaddress2
county       varchar(60)     No       nocounty
postcode     varchar(32)     No       nopostcode
customer     tinyint(4)      No       
seats        varchar(11)     No       0
number       tinyint(4)      No       0
class        varchar(11)     No       noclass
username     varchar(60)     No       nousername

正如我所说,一切正常,但 username 列除外,该列仅显示默认值 nousername。这是我正在使用的代码;

$query = "INSERT INTO OABS_customers (用户名) VALUES ('$user')";

其中 $user = $_COOKIE['ID_my_site'](在上述脚本之前定义)。

如果有人可以帮助解决这个问题,我将不胜感激。

最佳答案

永远不要将未转义的、用户生成的字符串放入 SQL 查询中。某些恶意用户可能会更改 cookie,从而导致 SQL 注入(inject)。使用mysql_real_escape_string($user)转义字符串。

确保$_COOKIE['ID_my_site']不为空

mysql_query("INSERT INTO OABS_customers (username) VALUES ('". mysql_real_escape_string($user) ."')");

关于PHP变量进入mySQL表: not working?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10640891/

相关文章:

javascript - 表格列的高度相等

mysql - nodejs mysql关闭和打开连接

database - 在生产中重构数据库的最佳实践?

database - Google App Engine 数据库查看器/浏览器?

c++ - MATLAB 中的 mysql.cpp 编译错误

php - 将数据信息存储在 SESSION 中而不是使用 MySQL 查询?

php - 在同一文件中使用 HTML 运行 PHP 脚本

PHP将图像转换为二进制文件测试

mysql - PrestaShopDatabaseException MySQL 服务器在迁移到 VPS 后消失了

php - MYSQL:除最高和最低值外的总计值然后相乘