导致此代码出现“未定义索引”错误的原因是什么?

时间:2011-12-30 06:39:31

标签: php mysql

什么是未定义的索引错误? 我没有指定任何索引。

它返回此错误。 Notice: Undefined index: in C:\wamp\www\Maps_ketchupp\search.php on line 73

这是产生错误的代码:

<?php
// Get the search variable from URL

$var = @$_GET['q'] ;
$trimmed = trim($var); //trim whitespace from the stored variable

// rows to return
$limit=10; 

// check for an empty string and display a message.
if ($trimmed == "")
{
    echo "<p>Please enter a search...</p>";
    exit;
}

// check for a search parameter
if (!isset($var))
{
    echo "<p>We dont seem to have a search parameter!</p>";
    exit;
}

//connect to your database ** EDIT REQUIRED HERE **
$link = mysql_connect('localhost','root','root'); //(host, username, password)

//specify database ** EDIT REQUIRED HERE **
mysql_select_db("google maps 1.01") or die("Unable to select database"); 
//select which database we're using

// Build SQL Query  
$query = "select * from markers where name like \"%$trimmed%\"  
    order by name"; 
    // EDIT HERE and specify your table and field names for the SQL query

    //$numresults=mysql_query($query);
    //$numrows=mysql_num_rows($numresults);

$numrows=2;

// If we have no results, offer a google search as an alternative

if ($numrows == 2)
{
    echo "<h4>Results</h4>";
    echo "<p>Sorry, your search: &quot;" . $trimmed . "&quot; returned zero results</p>";

    // google
    echo "<p><a href=\"http://www.google.com/search?q=" 
        . $trimmed . "\" target=\"_blank\" title=\"Look up" 
        . $trimmed . " on Google\">Click here</a> to try the 
        search on google</p>";
    }

    // next determine if s has been passed to script, if not use 0
    if (empty($s)) {
        $s=0;
    }

    // get results
    $query .= " limit $s,$limit";
    $result = mysql_query($query) or die("Couldn't execute query");

    // display what the person searched for
    echo "<p>You searched for: &quot;" . $var . "&quot;</p>";

    // begin to show results set
    echo "Results";
    $count = 1 + $s ;

    // now you can display the results returned
    while ($row= mysql_fetch_array($result)) {
        **$title = $row["1st_field"];**-----------SHOWING ERROR IN HIS LINE

        echo "$count.)&nbsp;$title" ;
        $count++ ;
}

$currPage = (($s/$limit) + 1);

//break before paging
echo "<br />";

// next we need to do the links to other results
if ($s>=1) 
{ // bypass PREV link if s is 0
    $prevs=($s-$limit);
    print "&nbsp;<a href=\"$PHP_SELF?s=$prevs&q=$var\">&lt;&lt; 
    Prev 10</a>&nbsp&nbsp;";
}

// calculate number of pages needing links
$pages=intval($numrows/$limit);

// $pages now contains int of pages needed unless there is a remainder from division

if ($numrows%$limit) 
{
    // has remainder so add one page
    $pages++;
}

// check to see if last page
if (!((($s+$limit)/$limit)==$pages) && $pages!=1) 
{        
    // not last page so give NEXT link
    $news=$s+$limit;

    echo "&nbsp;<a href=\"$PHP_SELF?s=$news&q=$var\">Next 10 &gt;&gt;</a>";
}

$a = $s + ($limit) ;
if ($a > $numrows) { $a = $numrows ; }
$b = $s + 1 ;
echo "<p>Showing results $b to $a of $numrows</p>";

?>

2 个答案:

答案 0 :(得分:1)

您使用的是mysql_fetch_array而不是mysql_fetch_assoc,或者您的表没有'1st_field'列

答案 1 :(得分:0)

错误说明了你必须要做的事情。检查第73行是否有错误。它可能是一个错误的变量名,或者是一个db列名......