单击按钮运行SQL查询

时间:2017-03-03 16:08:23

标签: php html mysql mysqli

编辑3:我认为我应该试着说出来,不仅是我的问题,而且还有我的最终目标......所以这就是它。我需要通过输入将数据返回给用户。他们在表单中添加的内容将从数据库中返回特定数据,或者根本不返回任何内容。我使用的数据库是关于现场代表的信息。当用户进入表单时,他们将查找特定信息。他们将被要求的号码是repID号码。现在......我遇到的问题是获取表单中的数字,并从数据库中调用该特定数据。用户将无法看到与其他repID无关的其他数据。

好的,我很确定我不应该删除我的整个帖子,但我还在寻找答案。现在,我认为它应该相对简单,但事实证明它比我原先想象的更加沉重。也许我并没有足够清楚地解释我的需求,我确实倾向于解决这个问题。

在这里......如何使用按钮单击2.0运行查询:

我有一个用编写并存储在服务器上的数据库。我将访问的表名为dataRep,包含Rep Data。该数据是通过表单提交的用户输入。进入网站后,可以选择查看代表信息"通过提交给出的Rep的ID。该Rep ID将是表中的自动增量repID。单击该按钮后,它将打开一个新窗口,该窗口应显示代表的数据。但是,它没有。

以下是用户将看到的

<div class="pop_box">
<a class="rms-button" href="#popup1">Enter Rep Number Here</a> </div>
<div id="popup1" class="overlay">
<div class="popup">
    <a class="close" href="#">&times;</a>
<div align="center"><br>
       <br>
       <p>Enter rep number in box below. Submission will open new window.</p>
    <form method="get" action="/data/repPrepare.php" target="_blank" >
      <input type="text" id="repSelect" name="repSelect" placeholder="Enter Rep Number Given Here" />&nbsp;&nbsp;
        <button type="submit" class="newbutton">VIEW</button>
    </form>
</div>
</div>

...稍微更改了,但现在我收到了这个错误:

  

&#34;警告:mysqli_query()需要至少2个参数,第21行给出1   无法准备声明:查询为空&#34;

<?php 
 $host = 'mhhost';
 $user = 'myuser';
 $pass = 'mypass';
 $db = 'mydatabase';

 $con = mysqli_connect($host,$user,$pass, $db);

 //-------------------------------------------------------------------------
 // 2) Query database for data
 //--------------------------------------------------------------------------

 $query = mysqli_query("SELECT * FROM dataRep WHERE repID = ?");   //query
 $stmt = mysqli_prepare($con, $query)
or die("Unable to prepare statement: " . $con->error);
 $stmt->bind_param("i", $_GET["repSelect"]);
 $stmt->execute(); 
 $array = mysqli_fetch_row($result);                        //fetch result    

 //-------------------------------------------------------------------------
 // 3) echo result as json 
 //-------------------------------------------------------------------------

 echo json_encode($array);

 ?>

如果我完全弄乱了论坛的程序,我想提前道歉,我只是真的陷入困境并且已经处理了这个问题已经有两个星期了。我再次感谢能提供的任何帮助。我只需要将数据与用户放入框中的repID(repSelect)相关联。

1 个答案:

答案 0 :(得分:2)

试试这样。你必须在bind_result()中打印变量bind。所以

<?php 
$stmt = $mysqli->prepare("SELECT repID, RepName, RepBio, RepCerts FROM dataRep WHERE repID = ?");
$stmt->bind_param('i', $_GET['repSelect']);
$stmt->execute(); 
$stmt->bind_result($repID, $repName,$repBio,$repCerts); 
while($stmt->fetch()){
 echo $repName;//now it prints RepName
   };
$stmt->close();

?>