我正在尝试将$ _SESSION ['user_id']添加到数据库中,当我在此函数中回显它时,它可以正常工作。但是,当我尝试将其推入我的MySQL数据库时,它会增加值0.真的很困惑为什么。谢谢你的帮助!
function fill_team() {
$i = 1;
while ($i < 24) {
$first_name = first_name();
$last_name = second_name();
echo "<br>";
$add_names = mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`) VALUES ('$first_name', '$last_name', '.$_SESSION['user_id']'.)");
$i++;
}
}
答案 0 :(得分:0)
替换echo $row2['first_name']
;与return $row2['first_name'];
。
如果要从函数中获取某些值,则应使用return
运算符将值传回。它与使用print
或echo
打印值无关。
答案 1 :(得分:0)
SQL语句中有一些混乱的混合引用:
mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`)
VALUES ('$first_name', '$last_name', '.$_SESSION['user_id']'.)");
我不知道会产生什么样的SQL,但这应该写成:
mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`)
VALUES ('$first_name', '$last_name', '$_SESSION[user_id]')");
或
mysql_query("INSERT INTO `players` (`first_name`, `last_name`, `user_id`)
VALUES ('$first_name', '$last_name', '".$_SESSION['user_id']."')");