首页 > 解决方案 > jquery 使用 php 和 mysql 获取语法以进行输入验证

问题描述

这个让我很沮丧。为了保持简单。我有一个带有输入和 ap 元素的网页

<input type=text name="findSong" id="findSong">
<p id = " songCheck">Search</p>

我有一个可以很好地连接到数据库的 php 文件,但不确定我的查询是否正确。

我想要做的是在输入 findSong 上使用 jquery .keypress 事件。因此,当我键入时,它会不断检查数据库是否匹配。然后将 p 元素更新为“找到匹配”之类的内容。

这是我的名为 songCheck.php 的 php 文件

<?php
$servername = "localhost";

$database = "karaoke";
$username = "root";
$password = "";

$song = isset($_POST['findSong'])
// Create connection
$conn = mysqli_connect($servername, $username, $password, $database);

// Check connection

if (!$conn) {

    die("Connection failed: " . mysqli_connect_error());

}

$sql = "Select * From songlist  WHERE SongNum = '".$song."')";
if (mysqli_query($conn, $sql)) {
      echo "Match Found"
} else {
      echo "Error: " . $sql . "<br>" . mysqli_error($conn);
}

?>

我需要帮助 jquery 返回是否在数据库中。提前致谢

这是jquery。

$("input").keypress(function(){
    $.get("songCheck.php", function(data, status){
        document.getElementById('songCheck').innerHTML = data;
    });
});

标签: javascriptphpjquerymysql

解决方案


试试这个:

    <?php
if(isset($_POST['findSong'])){
    $servername = "localhost";
    $database = "karaoke";
    $username = "root";
    $password = "";

    // Create connection
    $conn = mysqli_connect($servername, $username, $password, $database);

    // Check connection

    if (!$conn) {

        die("Connection failed: " . mysqli_connect_error());

    }
    $song = $_POST["findSong"]);
    $sql = "SELECT * FROM songlist WHERE SongNum = '$song'"; 
    if (mysqli_query($conn, $sql)) {
          echo "Match Found"
    } else {
          echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    }
}

    ?>

推荐阅读