编辑 3:我想我应该试着用文字表达,不仅是我的问题,还有我的最终目标……所以就这样吧。我需要通过输入将数据返回给用户。他们放入表格的内容将从数据库返回特定数据或根本不返回任何数据。我使用的数据库是现场代表的信息。当用户输入表单时,他们将查找特定信息。他们将被要求提供的号码将是 repID 号码。现在...我遇到的问题是获取表单中的数字,并从数据库中调用该特定数据。用户将无法看到与其他 repID 无关的其他数据。
好吧,我很确定我不应该只删除我的整个初始帖子,但我仍在寻找答案。现在,我认为它应该相对简单,但事实证明它比我原先想象的更费力。也许我没有足够清楚地解释我的需求,我确实经常遇到这个问题。
开始了……如何运行 sql使用按钮单击 2.0 查询:
我有一个用 sql 编写的数据库并存储在服务器上。我将要访问的表称为 dataRep 并包含 Rep Data。此数据是用户通过表单提交输入的。访问该网站后,可以选择通过提交给定的代表 ID 来“查看代表信息”。该 Rep ID 将是表中的自动递增 repID。单击该按钮后,它会打开一个应显示代表数据的新窗口。然而,事实并非如此。
这是 html用户将看到:
<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="#">×</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" />
<button type="submit" class="newbutton">VIEW</button>
</form>
</div>
</div>
...更改了 php一点点,但现在我得到这个错误:
"Warning: mysqli_query() expects at least 2 parameters, 1 given on line 21 Unable to prepare statement: Query was empty"
<?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);
?>
如果我完全搞砸了论坛的程序,我想提前道歉,只是我真的被困住了并且已经处理这个问题两个星期了。再次感谢您提供的任何帮助。我只需要 php拉取数据与用户放入框中的 repID (repSelect) 相关联。
最佳答案
这样试试。您必须在 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();
?>
关于php - 单击按钮运行 SQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42583524/