2013-10-24 69 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