我在一个php文件中创建搜索功能。但在我分开之后,我的编码显示未定义的索引。任何可以帮助我解决此错误的full_name不是字符串的未定义索引
<?php
if ($_REQUEST["string"]<>'') {
$search_string = " AND (file_name LIKE '%".mysql_real_escape_string($_REQUEST["string"])."%')";
}
if ($_REQUEST["file_name"]<>''){
$sql = "SELECT * FROM file WHERE file_name'".mysql_real_escape_string($_REQUEST["file_name"])."'".$search_string;
}
else {
$sql = "SELECT * FROM file WHERE file_id>0 ".$search_string;
}
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
$id=$row['file_id']?>
<tr>
<td><?php echo $row["file_id"]; ?></td>
<td><?php echo $row["file_reference"]; ?></td>
<td><?php echo $row["file_name"]; ?></td>
<td><?php echo $row["file_location"]; ?></td>
<td><?php echo $row["file_pdf"]; ?></td>
</tr>
<?php
}
} else {
?>
<tr><td colspan="5">No results found.</td>
<?php
}
?>
任何解决我的编码未定义错误的建议。
答案 0 :(得分:2)
如果存在变量或密钥,请使用isset
检查。
if (isset($_REQUEST['string']) && $_REQUEST["string"] != '') {
// $_REQUEST['string'] exists and is non-empty
}
对于其他人,它将是相同的。
答案 1 :(得分:1)
当您检查$_REQUEST["string"]<>''
实际上是否正在尝试访问该索引时。使用isset()
检查是否先设置了它。
此外,您收到错误的是哪一行,因为它也可能是您尝试访问不在查询响应中的列。因此,可能有多个地方会在此代码中出现错误。