簡體   English   中英

如何從 select 表單中獲取值到 SQL 查詢

[英]How to get a value from select form into SQL query

我有一個用戶登錄的項目,然后可以回答多個測驗。 這些測驗有一個 select 表格,他們可以在其中 select 他們想要多少問題。 我的問題是當他們 select 他們想要多少問題時,我不知道如何將其轉換為 PHP 變量,然后在 SQL QUERY 中使用它。 我的 SQL QUERY 看起來像這樣:

SELECT questions FROM quiz_questions ORDER BY RAND() LIMIT=?

請在回答問題時解釋一下謝謝:)

我試圖將 select 形式的變量設置為 $number。 但是當我嘗試用 echo 測試它時,我什么也沒得到。我使用 iframe 因為我需要不重新加載頁面,因為我稍后有一些 javascript 功能。

  <form target="frame" action="UvodniNivo.php" method="post">
    <div class="center">
      <label>izberite št. vprašanj:&nbsp;</label>
        <select name="number" id="value">
          <option value="5">5</option>
          <option value="10">10</option>
          <option value="15">15</option>
        </select>
    </div>
    <button onclick="hide()" name="start-btn" type="submit">Začni</button>
  </form>
  <iframe name="frame"></iframe>

                       <!--Start of the quiz-->


  <div id="SHOW">
  <?php

    if(isset($_POST['start-btn'])){
    $select="SELECT * FROM quiz_question ORDER BY RAND() LIMIT=?";
    $result= mysqli_query($conn, $select);
    $count= mysqli_num_rows($result);
    if($count < 1)
    {
      echo "ERROR";
    }
    else
    {
      while($row= mysqli_fetch_array($result))
      {
        echo $row[2]."<br />";
      }
    }
    ?>
  </div>

編輯: $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_NAME);

DB_HOST、DB_USER、DB_PASS、DB_NAME 都具有正確的值,因為登錄/注冊工作。

首先,您使用的是准備好的語句,因此您必須初始化一個 stmt,准備語句,將語句與參數綁定並執行..

<?php
if(isset($_POST['start-btn'])){

$select="SELECT * FROM quiz_question ORDER BY RAND() LIMIT=?";
$numOfQuestions = $_POST['number']; //make sure you sanitize this
$q = mysqli_stmt_init($conn);
mysqli_stmt_prepare($q, $select);
mysqli_stmt_bind_param($q, 'i', $numOfQuestions );
mysqli_stmt_execute($q); 

$result = mysqli_stmt_get_result($q);
if (mysqli_num_rows($result) != 0) {
     // do stuff here
}

?>

$number = $_POST['number'];

限制 = $數字;

SELECT * FROM quiz_question ORDER BY RAND() LIMIT=?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM