如何在SELECT和INSERT INTO SQL语句中使用PHP变量

时间:2013-10-24 13:21:46

标签: php mysql sql select insert-into

以下是我正在努力工作的代码:

    $y= "SELECT ('PRV_IDX')
         FROM LLS_PRIVILEGES
         WHERE `PRV_NAME` = 'Reader';";

     mysql_query($y);

$x= "SELECT ('USER_IDX')
     FROM LLS_USERS
     WHERE `USR_LOGIN` = '".$_SESSION['tool_user']."';";

      mysql_query($x);

$w= "INSERT INTO LLS_USERS_PRIVILEGES
     (USP_USR_IDX,USP_PRV_IDX)
     VALUES ($x,$y);    ";

     mysql_query($w);

我想将select语句中的这些值插入到最终表中。但是,我不确定我的语法是否正确,我无法在线找到解决方案。我不确定你是否每次都必须使用mysql_query使select语句实际占用并将其放在$变量中。

抱歉,我是SQL的新手,但是谢谢你的帮助!

1 个答案:

答案 0 :(得分:-1)

mysql _ * 函数已弃用。请改用 PDO

$y=$dbh->query("SELECT ('PRV_IDX')
    FROM LLS_PRIVILEGES
    WHERE `PRV_NAME` = 'Reader'");
$x=$dbh->prepare("SELECT ('USER_IDX')
     FROM LLS_USERS
     WHERE `USR_LOGIN` = ?");
$x->execute(array($_SESSION['tool_user']));
$w=$dbh->prepare("INSERT INTO LLS_USERS_PRIVILEGES
     (USP_USR_IDX,USP_PRV_IDX)
     VALUES (?,?)");
$y="SELECT ('PRV_IDX')
    FROM LLS_PRIVILEGES
    WHERE `PRV_NAME` = 'Reader'";
$x="SELECT ('USER_IDX')
     FROM LLS_USERS
     WHERE `USR_LOGIN` = '".$_SESSION['tool_user']."'");
$w->execute(array($x,$y));

有关 PDO 的更多信息:http://www.php.net/manual/en/book.pdo.php