我是PHP的新手。我想在另一个表中创建一个新记录,但只返回一个新变量。我试过跟随:
$user_id = mysql_real_escape_string($_POST['user_id']);
$user_name = mysql_query("SELECT user_name FROM accept WHERE user_id=".$user_id." ");
$row1 = mysql_fetch_array($user_name);
$server = mysql_query("SELECT server FROM accept WHERE user_id=".$user_id." ");
$row2 = mysql_fetch_array($server);
$url = mysql_query("SELECT link FROM accept WHERE user_id=".$user_id."");
$row3 = mysql_fetch_array($url);
$lpoints = mysql_real_escape_string($_POST['lpoints']);
我的结果就是这个。
答案 0 :(得分:0)
首先,将您的查询合并为一个:
$user_id = mysql_real_escape_string($_POST['user_id']);
$user_info = mysql_query("SELECT user_name, server, link FROM accept WHERE user_id=".$user_id." ");
$row = mysql_fetch_array($user_info);
$lpoints = mysql_real_escape_string($_POST['lpoints']);
为了创建新记录,您需要INSERT INTO,更改现有记录使用UPDATE。
当您从数据库中获取信息时,它将是一个数组,因此您需要相应地使用它。基本上,使用变量就像这样:
$row['user_name']
或$row['server']
等。
另外,请考虑使用mysqli。您需要更改连接脚本和其他一些语法,但需要完成。 mysql已被弃用,不安全,并且未来的支持不存在,因此您无论如何都需要稍后进行更改。
答案 1 :(得分:0)
你应该使用pdo或mysqli,这是你的代码;
$user_id = &$_POST["user_id"];
if($user_id){
$result = mysql_query("select user_name,server,link,lpoints from accept where user_id='".mysql_real_escape_string($user_id)."'");
/*You should use single quotes for escaping sql injection*/
if($result){
$vars = mysql_fetch_array($result);
if($vars){
list($username,$server,$link,$lpoints) = $vars;
}
else{
//do something with errors
}
mysql_free_result($result);
}
else{
//do something with errors
}
}
else{
//do something with errors
}
答案 2 :(得分:0)
试试这个 -
$user_id = mysql_real_escape_string($_POST['user_id']);
$result = mysql_query("SELECT user_name, server, link FROM accept WHERE user_id=".$user_id." ");
$row=mysql_fetch_array($result)
$row1=$row['user_name'];
$row2=$row['server'];
$row3=$row['link'];
$lpoints = mysql_real_escape_string($_POST['lpoints']);
现在,根据您的要求,您可以根据需要使用数据进行插入或更新。