0

以下は、私が仕事をしようとしているコードです:

    $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 ステートメントから最終的なテーブルに挿入したいと考えています。ただし、構文が正しいかどうかわからず、オンラインで解決策を見つけることができませんでした。select ステートメントが実際に保持され、$variable に配置されるために毎回 mysql_query を実行する必要があるかどうかはわかりませんでした。

申し訳ありませんが、私は SQL を初めて使用しますが、助けてくれてありがとう!

4

1 に答える 1

-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

于 2013-10-24T13:26:18.860 に答える