【发布时间】:2020-08-15 08:28:42
【问题描述】:
当我单击转到表单时,我想查看有关该 ID 号的所有其他信息。 这是转到表单选项背后的代码:
<td width="174" class="centertext"><a href="form.php?formid=<?php echo $row["formid"]; ?>"> Go to the form</a></td>
这是我用来从数据库中检索特定行的代码。该代码没有显示任何错误,但也没有显示结果。我看到的只是空白页。这里有什么问题?我一直在尝试解决 1 周,但找不到任何东西。我是 PHP 的初学者。提前致谢。
<?php
$conn = mysqli_connect("localhost","root","","son_fbe");
if (mysqli_connect_error()) {
echo "Failed to connect to MySQL: " . mysqli_connect_error();
exit();
}
$formid = isset($_GET['formid ']) ? $_GET['formid '] : '';
if($sql= "SELECT formid,gonderilen,gonderen FROM derssaydirma WHERE formid = ?")
{
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $formid);
$stmt->execute();
$result = $stmt->get_result();
while ($row = $result->fetch_assoc()) {
echo $row[ 'formid'];
echo $row['gonderilen'];
echo $row['gonderen']; }
$stmt->close();
}
// show an error if the query has an error
else
{
echo "Error: could not prepare SQL statement";
}
?>
【问题讨论】:
-
您的
if声明永远不会是错误的。它所检查的只是将字符串分配给$sql。 -
你觉得这条线有什么作用?
if($sql= "SELECT formid,gonderilen,gonderen FROM derssaydirma WHERE formid = ?") -
其实我也不知道。当你说它时,它看起来不需要if语句。
-
@davidev 是的,没有结果。我已经在这里做了回声。 while ($row = $result->fetch_assoc()) { echo $row[ 'formid'];回声 $row['gonderilen'];回声 $row['gonderen']; }
-
提示:enabling exceptions in
mysqli可以检测和解决很多问题,因此不会轻易忽略由简单错误引起的错误。毫无例外,您必须密切注意返回值,其中许多表明您必须解决或向用户报告的问题。异常允许更复杂的流控制,因为它们可以“冒泡”到代码的其他部分,以便更方便地处理它们。