PHP / mysql在数组中获取多个变量

时间:2014-08-02 21:44:18

标签: php mysql arrays fetch

我是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']);

我的结果就是这个。 enter image description here

3 个答案:

答案 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']);

现在,根据您的要求,您可以根据需要使用数据进行插入或更新。