为什么我的PHP脚本总是错误的未定义索引

时间:2015-05-28 19:02:04

标签: php undefined-index

我在一个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
    }
    ?>

任何解决我的编码未定义错误的建议。

2 个答案:

答案 0 :(得分:2)

如果存在变量或密钥,请使用isset检查。

if (isset($_REQUEST['string']) && $_REQUEST["string"] != '') {
    // $_REQUEST['string'] exists and is non-empty
}

对于其他人,它将是相同的。

答案 1 :(得分:1)

当您检查$_REQUEST["string"]<>''实际上是否正在尝试访问该索引时。使用isset()检查是否先设置了它。

此外,您收到错误的是哪一行,因为它也可能是您尝试访问不在查询响应中的列。因此,可能有多个地方会在此代码中出现错误。