我已经以$login_clients
的形式创建了一个MySQL数据库,其中$login
是一个php变量,具体取决于用户登录。我试图插入此数据库,但无法使用该变量调用它。任何帮助是极大的赞赏!这是我的代码:
$login = clean($_POST['login']);
require_once('user-config.php');
//Connect to mysql server
$link2 = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link2) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
//Create INSERT query
$qry2 = "INSERT INTO `{$login}_clients` (AgentClients) VALUES('$login')";
$result = @mysql_query($qry2);
if($result2) {
header("location: client-register-success.php");
exit();
}else {
die("Query failed");
}
答案 0 :(得分:1)
使用此
INSERT INTO `{$login}_clients` (AgentClients) VALUES('$login')
意味着你在每个客户端的新表中插入行,我想它不存在,是你想要的吗?例如,假设有三个客户端登录,比如A
,B
和C
,现在您的查询就像
INSERT INTO `a_clients` (AgentClients) VALUES('$login')
INSERT INTO `b_clients` (AgentClients) VALUES('$login')
INSERT INTO `c_clients` (AgentClients) VALUES('$login')
所以这不是正确的方法,因为在三个不同的表中插入三行实际上不存在
答案 1 :(得分:0)
什么是清洁功能? PHP没有这样的功能。如果它的用户定义,这个函数内部是什么。
$ login = clean($ _ POST ['login']);
你使用过$result2
。但是,你已经分配了$result = @mysql_query($qry2);
这会给出错误。
if($result2) { header("location: client-register-success.php"); exit(); }else { die("Query failed"); }
答案 2 :(得分:0)
什么是clean()函数在做什么?为安全起见,请考虑使用sprintf()和mysql_real_escape_string()。
$login = clean($_POST['login']); /* What is clean() doing? */
require_once('user-config.php');
//Connect to mysql server
$link2 = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD);
if(!$link2) {
die('Failed to connect to server: ' . mysql_error());
}
//Select database
$db = mysql_select_db(DB_DATABASE);
if(!$db) {
die("Unable to select database");
}
//Create INSERT query
$qry2 = sprintf("INSERT INTO `{$login}_clients` (AgentClients) VALUES('%s')", $login);
$result = @mysql_query($qry2);
if($result2) {
header("location: client-register-success.php");
exit();
}else {
die("Query failed");
}
答案 3 :(得分:0)
所有mysql_XXX函数都使用可选的链接说明符参数。它默认为使用mysql_connect()
打开的最后一个链接,但是为了避免在打开多个链接时可能出现混淆,您应该明确指定它。尝试将此参数添加到您的调用中,看看它是否解决了问题。
此外,不推荐使用mysql_XXX函数。你应该使用mysqli或PDO。然后你不能遇到这个问题,因为这些API的链接参数不是可选的。