2013-10-24 2 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); 

Я хочу, чтобы вставить эти значения из отборных заявлений в итоговой таблице. Тем не менее, я не уверен, что мой синтаксис верен, и я не смог найти решение в Интернете. Я не был уверен, что вам приходилось каждый раз выполнять mysql_query, чтобы оператор select действительно задерживался и помещал его в переменную $.

Извините, я новичок в SQL, но спасибо за помощь!

+0

Пожалуйста _not_ использовать устаревшие 'функции 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)); 

Больше О PDO: http://www.php.net/manual/en/book.pdo.php

+0

Нет абсолютно никакой причины использовать подготовленные операторы для первого запроса. Для второго это зависит. – arkascha

+0

@arkascha Ok. Обновленный ответ. – Subin

+0

Почему вы переопределяете переменные $ y = ... и $ x = ... после того, как вы уже запросили или подготовили и выполнили $ y и $ x соответственно? По-прежнему возникают проблемы с его работой – user2905014