我创建了一个 HTML 表单,它接受用户的输入,现在我需要在 Mysql 数据库中搜索用户输入的名称,并打印与存储在 Mysql 数据库中的用户输入的名称相关的详细信息。
下面的脚本创建 HTML 表单来接受用户输入,保存为“ProcessTracking.html”。
<form action="details.php" method="get"/>
<h3 align="center"><FONT color=#CCFF66>ENTER SO NUMBER</h3>
<p align="center">
<input type="text" id="SO_Number" name="SO_Number"/>
</p>
<div style="text-align:center">
<button type="submit" value="SEARCH">
<img alt="ok" src=
"http://www.blueprintcss.org/blueprint/plugins/buttons/icons/tick.png"/>
SEARCH
</button>
</form>
下面的 PHP 脚本名为“details.php”
<?php
$userinput = $_GET['SO_Number'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "ProcessTrackingSystem";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
exit();
}
$result = mysqli_query($conn, "SELECT * FROM ProcessTrackingSystem.ProcessDetails WHERE SO_Number = '$userinput'") or die(mysqli_error($conn));
$row = mysqli_fetch_assoc($result);
#printf ("SO_Number: %s \n",$row["SO_Number"])
#print_r($row);
printf ("SO_Number:");
printf($row["SO_Number"]);
printf ('--||--');
printf ("Name:");
printf($row["Name"]);
printf ('--||--');
$conn->close();
?>
最佳答案
首先,您没有在 SQL 语句的 WHERE 中使用 $_GET['SO_Number'] 参数。其次,您同时使用 mysql 和 mysqli,它们完全不同并且不能一起工作。使用请参见mysqli_fetch_row()和 mysqli_query() 。还可以使用 print_r($row);
。
这是更正后的代码:
<?php
$userinput = $_GET['SO_Number'];
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "ProcessTrackingSystem";
// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_errno) {
printf("Connect failed: %s\n", $conn->connect_error);
exit();
}
$result = mysqli_query($conn, "SELECT * FROM ProcessTrackingSystem.ProcessDetails WHERE SO_Number = '$userinput'") or die(mysqli_error($conn));
$row = mysqli_fetch_row($result);
print_r($row);
$conn->close();
?>
编辑:添加了代码示例。
关于php - 如何使用 PHP 脚本从 Mysql 数据库中提取所需的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30658757/