使用PHP从MySql获取具有给定ID的特定行
编辑:在收到一些帮助后,我编辑了一些部分,这里是formlarigor2.php文件,我得到了一个新的错误:1)mysqli_stmt_bind_result()至少需要2个参数,1个给定。。。。2) mysqli_fetch_array()希望参数1是mysqli_result,对象用C表示。。我想像给定的那样布局页面。这就是我使用td>代码的原因。。有什么帮助吗`使用PHP从MySql获取具有给定ID的特定行,php,mysql,sql,Php,Mysql,Sql,编辑:在收到一些帮助后,我编辑了一些部分,这里是formlarigor2.php文件,我得到了一个新的错误:1)mysqli_stmt_bind_result()至少需要2个参数,1个给定。。。。2) mysqli_fetch_array()希望参数1是mysqli_result,对象用C表示。。我想像给定的那样布局页面。这就是我使用td>代码的原因。。有什么帮助吗` <?php $conn = mysqli_connect("localhost","root","","son_
<?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 ($stmt = mysqli_prepare($conn, "SELECT * FROM derssaydirma WHERE formid = ?")) {
mysqli_stmt_bind_param($stmt, "s", $formid );
mysqli_stmt_execute($stmt);
mysqli_stmt_bind_result($stmt);
}
?>
<!DOCTYPE html>
<html lang="en">
<head> <title></title> </head>
<body> <table align="center" bordercolor="#CCCCCC" border="1" >
<?php
$i=0;
while($row = mysqli_fetch_array($stmt)) {
if($i%2==0)
$classname="even";
else
$classname="odd";
?>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td width="235">Form ID</td>
<td width="299"><?php echo $row["formid"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>O_AdiSoyadi</td>
<td><?php echo $row["O_AdiSoyadi"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>OgrenciNo</td>
<td><?php echo $row["OgrenciNo"]; ?></td>
</tr>
<tr class="<?php if(isset($classname)) echo $classname;?>">
<td>Program_BaslanilanDonem</td>
<td><?php echo $row["Program_BaslanilanDonem"]; ?></td>
</tr>
//There are about 20 more like this code block( <tr></tr> <?php
$i++;
}
?>
</table>
`
使用表单id作为参数
<td width="174" class="centertext"><a href="formlarigor2.php?formid=<?php echo $row["formid"]; ?>"> Go to the form</a></td>
获取行部分通常位于while循环中,以获取多行。但是您只有一个使用表单id作为参数
<td width="174" class="centertext"><a href="formlarigor2.php?formid=<?php echo $row["formid"]; ?>"> Go to the form</a></td>
获取行部分通常位于while循环中,以获取多行。但是您只有一个我猜“转到表单”将以不同的页面布局显示有关表单的更多信息
因此html中的元素应该链接到另一个详细显示该表单的php页面。
链接应采用所选表单的id
链接的php页面将有一个查询,该查询类似于:
$formId = $_GET['formId'];
$stmt = $mysqli->prepare("SELECT * FROM derssaydirma where id = ?");
$stmt->bind_param("i", $formId);
$stmt->execute();
$result = $stmt->get_result();
使用$result可以进行详细布局
注意使用准备好的语句来避免SQL注入。我猜“转到表单”将在不同的页面布局中显示有关表单的更多信息
因此html中的元素应该链接到另一个详细显示该表单的php页面。
链接应采用所选表单的id
链接的php页面将有一个查询,该查询类似于:
$formId = $_GET['formId'];
$stmt = $mysqli->prepare("SELECT * FROM derssaydirma where id = ?");
$stmt->bind_param("i", $formId);
$stmt->execute();
$result = $stmt->get_result();
使用$result可以进行详细布局
注意使用准备好的语句来避免SQL注入。我应该将$formid=$\u GET['formid']具体放在哪里;在文件中?至少在使用$formid=isset($\u GET['formid'])之前,应该像检查任何其他参数一样检查它$_获取['formid']:'';因此,它始终处于已定义状态,如果为空,请重新输入起始页。我添加了用于检索tbale的一行的代码,并使用以显示名称为例。我收到了这两个错误;1) 未定义变量:mysqli 2)致命错误:未捕获错误:调用null中的成员函数prepare(),因为我忽略了您使用的是过程样式,而不是面向对象的。试试这个,我应该把$formid=$\u GET['formid']放在什么地方;在文件中?至少在使用$formid=isset($\u GET['formid'])之前,应该像检查任何其他参数一样检查它$_获取['formid']:'';因此,它始终处于已定义状态,如果为空,请重新输入起始页。我添加了用于检索tbale的一行的代码,并使用以显示名称为例。我收到了这两个错误;1) 未定义变量:mysqli 2)致命错误:未捕获错误:调用null中的成员函数prepare(),因为我忽略了您使用的是过程样式,而不是面向对象的。试试这个,我添加了formlarigor2.php文件,它将用户引导到不同的表单,其中包含关于表单的更多信息。你能查一下吗?。另外,我应该写什么来代替问号?$stmt->bind_param(“s”,$formId);这是什么意思。它的目的是什么?问号是准备好的语句的参数占位符$stmt->bind_参数(“s”,$formId)将用$formId值替换问号。很抱歉,“s”代表字符串,也许id是一个int,所以它应该是“i”(istead of“s”)。预处理语句是避免sql注入的唯一方法。我从这里了解到,你是说我应该把formid值,比如2,而不是问号,对吗?因为桌子上会有更多提交的表格,所以我需要把每一份都拿出来。在这种情况下,我应该用什么来代替问号呢。对不起,我的语法不好。保留问号就行了。这样做是正确的。在google中用php中的mysqli搜索准备好的语句。您会理解的。我添加了formlarigor2.php文件,它将用户引导到不同的表单,其中包含关于表单的更多信息。你能查一下吗?。另外,我应该写什么来代替问号?$stmt->bind_param(“s”,$formId);这是什么意思。它的目的是什么?问号是准备好的语句的参数占位符$stmt->bind_参数(“s”,$formId)将用$formId值替换问号。很抱歉,“s”代表字符串,也许id是一个int,所以它应该是“i”(istead of“s”)。预处理语句是避免sql注入的唯一方法。我从这里了解到,你是说我应该把formid值,比如2,而不是问号,对吗?因为桌子上会有更多提交的表格,所以我需要把每一份都拿出来。在这种情况下,我应该用什么来代替问号呢。对不起,我的语法不好。保留问号就行了。这样做是正确的。在google中用php中的mysqli搜索准备好的语句。你会明白的。