php - 使用 MySQL 和 jQuery 比较数据库值和文本输入的问题 - undefined index 和 mysql_fetch_assoc() 错误

标签 php javascript jquery mysql post

我在将文本输入与我存储在本地数据库中的值进行比较时遇到问题。

当我在 ID 为 #searchBar 的文本输入字段中输入文本时,出现此错误:

注意:第6行C:\wamp\www\lifesearch\requires\search.php中未定义索引:searchBit

我已经尝试了一段时间来解决这个问题,但没有任何真正的成功。我不明白为什么它说索引未定义。

如果有人能提供可能的解决方案,我将不胜感激。

代码如下:

search.js

function search(searchQuery) {
    $.post("requires/search.php", {searchBit:searchQuery}, function(data) {
        $("#searchResults").html(data);
    });
}

$(document).ready(function() {
    $("#searchBar").focus(function() {
        if ($("#searchBar").val() == "start searching...") {
            $("#searchBar").val("");
        }
        $(this).addClass("searchBarFocus");
        $(this).removeClass("searchBarBlur");
    });
    $("#searchBar").blur(function() {
        $(this).addClass("searchBarBlur");
        $(this).removeClass("searchBarFocus");
    });
    $("#searchBar").keypress(function() {
        $("#searchResults").fadeOut(200);
        $("#searchResults").fadeIn(200);
    });
    $("#search").mouseleave(function() {
        $("#searchResults").fadeOut(200);
    });
    $("#searchBar").keyup(search(this.val()));
});

searchBar.php

<div id="search">
    <form action="requires/search.php">
        <input type="text" value="start searching..." id="searchBar" class="searchBarBlur" 
        autocomplete="off"/>
    </form>
    <div id="searchResults">
    </div>
</div>

search.php

<?php
    $host = "localhost";
    $username = "root";
    $password = "";
    $database = "websites";
    $searchBit = $_POST['searchBit'];
    mysql_connect($host, $username, $password);
    mysql_select_db($database) or die("Failed to select table from database");
    $userSearch = mysql_real_escape_string(addslashes($searchBit));
    $searchResults = mysql_query("SELECT name FROM sites WHERE name LIKE '$userSearch%'");

    while ($row = mysql_fetch_assoc($searchResults)) {
        echo "<div class='searchResult'>".$row['name']."</div>";
    }
?>

提前致谢!

最佳答案

您的表单输入字段没有应为“searchBit”的名称属性。 $_POST['searchBit'] 因此未定义..

关于php - 使用 MySQL 和 jQuery 比较数据库值和文本输入的问题 - undefined index 和 mysql_fetch_assoc() 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4976329/

相关文章:

php - 不允许更新 php 中的空文本框

javascript - websocket onclose 未在 chrome 中触发 - linux 当客户端与网络断开连接时

javascript - 在路由器 Action 中加载组件与路由器初始化之前加载组件的优缺点

javascript - Jquery Sortable inside other sortable : On sorting the element how to detect which sortable moved child or parent

javascript - 如何检查javascript中的输入值

jquery - 使用razor viewEngine在asp.net MVC3.0中创建自定义控件

php - Genesis Framework - 如何更改自定义 header css 代码?

php - 无法将 .pdf 文件存储在 mySQL 的 blob 中

php - 如果 Woocommerce 上的购物车中有特定商品,请更改购物车商品价格

Javascript 加载不同 url 时请求的资源上不存在 'Access-Control-Allow-Origin' header