2013-10-24 84 views
0

下面是我试图去上班代码:如何使用PHP变量与SELECT和INSERT INTO SQL语句

$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新手,但感谢您的帮助!

+0

请不要_使用过时的'mysql_'功能,使用'mysqli_'功能或代替PDO。 – akluth

+0

你没有找到任何使用sql和php在线的例子吗?我无法相信这。每个使用关系数据库的php代码片段都是一个很好的例子。 – arkascha

+0

看看这个http://www.w3schools.com/php/php_mysql_insert.asp – Shafeeque

回答

-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)); 

更多关于PDOhttp://www.php.net/manual/en/book.pdo.php

+0

绝对没有理由为第一个查询使用预处理语句。对于第二个它取决于。 – arkascha

+0

@arkascha好的。更新了答案。 – Subin

+0

为什么在你已经查询或准备并分别执行$ y和$ x后,你重新声明变量$ y = ...和$ x = = ...? 仍然无法正常工作 – user2905014