2

我正在对我正在查询数据库的 .php 页面进行 ajax 调用。但是,当我从 .php 页面回显一个值时,会返回整个 html 文件,而不仅仅是我需要的数值。

这是我的 ajax 脚本:

<script type="text/javascript">

$(document).ready(function()
{
    $("#valuebutton").click(function()
    {
        var id1=$('.player1').val();
        $.ajax
    ({
        type: "POST",
        url: "updatevaluebox.php",
        data: ({g1: id1}),
        cache: false,
        success: function(value)
        {
            //alert(value);
            $('#valuebox').val(value);
        }
    });
    });
});
</script>

这是 php 页面 updatevaluebox.php:

<?php
    require("connect_db.php");
    $q="SELECT price FROM playerlist where id=".$_POST['g1'];
    $r=mysqli_query($dbc,$q);
    $price=mysqli_fetch_array($r,MYSQLI_NUM);
    mysqli_close($dbc);
    echo $price[0];
?>

两个文件都在同一个目录中。

我已经在stackoverflow上检查了这个问题的其他答案,但似乎没有一个有效。

我从警报语句中获得的输出如下所示:

<html>

<head><title>

</title></head>

<body>

</body>

</html>5.5

最后的 5.5 是我需要的唯一值!

我已将 ajax 数据类型设置为文本,但即使这样也无济于事。

4

1 回答 1

1

是的!您需要删除 connect_db.php 文件中的所有 HTML。我建议在该文件中存储一个变量,检查您的连接是否成功。例如:

连接数据库.php

$isConnected = false;
$dbError = "";
if ($dbc=mysqli_connect('localhost','*****','*****','ff') {
    $isConnected = true;
} else {
    $dbError = mysqli_connect_error();
}

其它文件

require("connect_db.php");

if($isConnected) {
    //DO ALL YO STUFF!!
} else {
    //HANDLE THE ERROR AS YOU LIKE, LIKE PRINTING IT OUT
    echo $dbError;
}

这样做将允许您在文件连接失败时处理文件中的数据库逻辑,以便您可以优雅地处理失败的连接。

于 2013-07-19T17:32:35.570 回答