gpt4 book ai didi

php - 将 session 变量插入 MySQL 数据库

转载 作者:行者123 更新时间:2023-11-30 23:59:01 25 4
gpt4 key购买 nike

嘿,我是 PHP 的新手,我正在尝试将详细信息输入到我的数据库中。我正在尝试输入一个事件名称 - 用户输入(POST)和登录用户的用户名。

我已经创建了 session 来存储用户的用户名,我的代码是

$eventname=$_POST['eventname'];
$myusername = $_SESSION['myusername']

$sql = mysql_query("INSERT INTO $tbl_nameVALUES('','$eventname','$_SESSION['myusername'])");

echo "You have been added to the event";

是 $sql 语句出错了吗?任何帮助将不胜感激。

谢谢大家!

最佳答案

这里有几个潜在的问题。

首先,您还没有针对 SQL 注入(inject)对 eventname 进行转义。我们希望 myusername 已经安全。如果它之前没有被过滤,也在 $_SESSION['myusername'] 上使用 mysql_real_escape_string()

$eventname = mysql_real_escape_string($_POST['eventname']);

// Then you need space before VALUES and are missing a closing quote on $_SESSION['myusername'], which should be in {}
$sql = mysql_query("INSERT INTO $tbl_name VALUES('','$eventname','{$_SESSION['myusername']}')");

最后,为了使该语句起作用,它假设您在 $tbl_name 中恰好有三列。您应该明确使用的列。将 colname1、event_name、username 替换为正确的列名。

$sql = mysql_query("INSERT INTO $tbl_name (colname1, event_name, username) VALUES('','$eventname','{$_SESSION['myusername']}')");

SQL 语法错误的确切位置将通过 mysql_error() 的一些基本错误检查向您显示。

$sql = mysql_query(<your insert statement>);
if (!$sql) {
echo mysql_error();
}

关于php - 将 session 变量插入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10402894/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com