PHP-注意:未定义的变量:\u请求

PHP-注意:未定义的变量:\u请求,php,Php,您好,我正在创建一个带有搜索框的网站,这已经在asp中完成,我正在用php重新创建它(我也是新的),它将带您到另一个页面,在那里它使用sql搜索数据库。 search-process.php文件如下所示 <?php $db = realpath("db\unibookv2.mdb"); $conn = new COM('ADODB.Connection') or exit('Cannot start ADO.'); $connStr = "PROVIDER=Microsoft.Jet.OL

您好,我正在创建一个带有搜索框的网站,这已经在asp中完成,我正在用php重新创建它(我也是新的),它将带您到另一个页面,在那里它使用sql搜索数据库。 search-process.php文件如下所示

<?php
$db = realpath("db\unibookv2.mdb");
$conn = new COM('ADODB.Connection') or exit('Cannot start ADO.');
$connStr = "PROVIDER=Microsoft.Jet.OLEDB.4.0;
Data Source=$db";
$conn->Open($connStr);



$sql = "SELECT * FROM ubuser WHERE usr_firstname LIKE '%" . $_REQUESTS['searchinput'] .  "%' OR usr_lastname LIKE '%" . $_REQUESTS['searchinput'] . "%' ORDER BY '%" . $_REQUESTS['orderlist'] . "%' ";

$userRs = $conn->Execute($sql);
if (!$userRs)
    {exit("DBMS Error..!");}
?>


<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>PHP Search Results - ADO-COM connection!</title>
<meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/unibookStyle.css" />
</head>
<!-- #include FILE="include/header.asp") -->


<body>
<div id="container"><!-- start container -->

<h2>USER DATABASE</h2>

<!-- start of dynamic html page -->
<h2>PHP/ADO-COM (MS Access) basic parameterised example</h2>
<h3>You searched for : '<?php echo $_REQUEST['searchinput']; ?>' - 

<hr align="left" width="658" />

<?php
// example of testing for EOF in resultset  
if (!$userRs->EOF)
{
echo "one or more records found<br />";
}
else
{
echo "sorry, no records found<br />";
}
?>

<!-- start of html table -->
    <table border="0" width="758" cellspacing="0" cellpadding="3">

    <!-- create the first (heading) row in standard HTML -->
    <tr class="tableheading">
        <td><b>Usr_id</b></td><td><b>firstname</b></td><td>&nbsp;<b>lastname</b></td><td>&nbsp;</td>

    </tr>
<!-- loop in PHP to retrieve all records -->
<?php
    $nrecs=0;
    while (!$userRs->EOF) { 
    $nrecs++;   
    ?>
    <tr>
    <!-- use in-line PHP to display the data -->
        <td><?php echo $userRs->Fields['usr_id']->Value ?></td>
        <td><?php echo $userRs->Fields['usr_firstname']->Value ?></td>
        <td><?php echo $userRs->Fields['usr_lastname']->Value ?></td>
    </tr>
    <!-- important line as it moves the resultset 'cursor' -->
    <?php $userRs->MoveNext() ?>
<?php } ?>
</table>


<?php
// close and destroy object instances
$userRs->Close();
$conn->Close();

$userRs = null;
$conn = null;

// display records found to page
echo "<br />Number of records found: " . $nrecs;
?>

<p>&nbsp;</p>
<hr align="left" width="658">

<input type="button" value="< Back to Search Page" OnClick="top.location='default.asp'">

<!-- #include FILE="include/sidebar.asp") -->

<!-- #include FILE="include/footer.asp") -->
</div>
<!-- end main page content -->

</body>
</html>

其他问题是使用的搜索词不起作用,顺序也不正确,但我感觉这些问题将通过相同的方法解决

它必须是
$\u REQUEST
,而不是
$\u REQUESTS
。还要注意,因为您直接使用的是值。请使用prepare语句防止sql连接

从文件中

$\u REQUEST是一个关联数组,默认情况下包含$\u GET的内容

$\u POST和$\u COOKIE。 $\u请求中的变量通过GET提供给脚本, POST和COOKIE输入机制,因此可以通过 无法信任远程用户和。存在与秩序 此数组中列出的变量是根据PHP定义的 变量\u顺序配置指令


您可以查看以获取更多信息。它必须是
$\u请求
,而不是
$\u请求
。由于您直接使用这些值,因此也要小心。请使用prepare语句防止sql连接

从文件中

$\u REQUEST是一个关联数组,默认情况下包含$\u GET的内容

$\u POST和$\u COOKIE。 $\u请求中的变量通过GET提供给脚本, POST和COOKIE输入机制,因此可以通过 无法信任远程用户和。存在与秩序 此数组中列出的变量是根据PHP定义的 变量\u顺序配置指令


您可以查看以获取更多信息

我认为应该是$\u请求。这个问题似乎离题了,因为它是关于OP的打字错误。我认为应该是$\u请求。这个问题似乎离题了,因为它是关于OP的打字错误。这很有意义,因为您正在为HTTP请求提供响应,您无法响应多个
HTTP请求。解决了这个问题,我现在也可以按术语搜索,唯一的问题是order by无法正常工作。知道为什么吗?不管是哪种方式,谢谢你的回答。这很有意义,因为你正在为一个HTTP请求提供响应,你不能响应多个HTTP请求。解决了这个问题,我现在也可以按术语搜索了,唯一的问题是order by仍然不起作用。知道为什么吗?不管怎样,谢谢你的回答
Notice: Undefined variable: _REQUESTS in H:\STUDENT\S0190204\part1\search-process.php on line 10 Notice: Undefined variable: _REQUESTS in H:\STUDENT\S0190204\part1\search-process.php on line 10 Notice: Undefined variable: _REQUESTS in H:\STUDENT\S0190204\part1\search-process.php on line 10