1

isset(); の使い方を尋ねる基本的な質問があります。コマンドとその書き方を以下の例に示します。クエリに値を挿入しようとしていて、最後に挿入された ImageId を取得して、それを別のテーブルに挿入しようとしています

    session_start();


         $imagesql = "INSERT INTO Image (ImageFile) 
        VALUES (?)";

                if (!$insert = $mysqli->prepare($imagesql)) {
          // Handle errors with prepare operation here
        }

        //Dont pass data directly to bind_param store it in a variable
    $insert->bind_param("s",$img);

    //Assign the variable
    $img = 'ImageFiles/'.$_FILES['fileImage']['name'];

     $insert->execute();

            if ($insert->errno) {
              // Handle query error here
            }

            $insert->close();

            $lastImageID = $mysqli->insert_id;     

        $_SESSION['lastImageID'] = $lastImageID; 

$imagequestionsql = "INSERT INTO Image_Question (ImageId, SessionId, QuestionId)  
    VALUES (?, ?, ?)"; 

     if (!$insertimagequestion = $mysqli->prepare($imagequestionsql)) { 
      // Handle errors with prepare operation here 
       echo "Prepare statement err imagequestion"; 
    } 

$qnum = (int)$_POST['numimage'];

$insertimagequestion->bind_param("iii",$lastImageID, $sessionid, $qnum); 

    $insertimagequestion->execute(); 

                if ($insertimagequestion->errno) { 
          // Handle query error here 
        } 

        $insertimagequestion->close(); 
4

2 に答える 2

0

isset定義されていない可能性のある変数を読み取る場合にのみ呼び出す必要があります。

この状況では、 に書き込みを行っている$_SESSION['lastImageID']ため、確認する必要はありません。

isset必要な場所の例:

if (isset($_SESSION['lastImageID']))
{
    $lastImageID = $_SESSION['lastImageID'];
}

else
{
    $lastImageID = get_this_from_db_or_something();
}
于 2012-10-23T00:46:47.253 に答える
0

あなたが何を求めているのか正確にはわかりませんが、大雑把に推測します:

session_start();

...... //PDO code and commands

   $lastImageID = $mysqli->insert_id; 
   $_SESSION['lastImageID'] = $lastImageID; 

   if (isset($_SESSION['lastImageID'])) {
      // do this
   } else {
      // do that
   } 
于 2012-10-23T00:10:41.730 に答える