在数组PHP MYSQLi

时间:2015-04-23 01:48:33

标签: php ajax mysqli

我试图显示我从ajax发送到php文件的一些数据,但由于某种原因它没有在页面上显示它。它的工作方式我在输入字段中输入搜索词,ajax脚本将值发布到php脚本,该脚本返回请求的数据库值。

error_reporting(E_ALL); 
ini_set('display_errors', '1');


if (isset($_POST['name']) === true && empty($_POST['name']) === false) {
    //require '../db/connect.php';

    $con = mysqli_connect("localhost","root","root","retail_management_db"); 
    $name = mysqli_real_escape_string($con,trim($_POST['name']));    
    $query = "SELECT `names`.`location` FROM `names` WHERE`names`.`name` = {$name}";
    $result = mysqli_query($con, $query);
    if (mysqli_num_rows($result) > 0) {
        while ($row = mysqli_fetch_array($result)) {
            $loc = $row['location'];
             echo $loc;   
        }//close While loop                            
    } else {
        echo $name . "Name not Found";
    }
}

html表格:

<!DOCTYPE html> 
<html>
    <head>
    <meta charset="utf-8">
    <title>Retail Management Application</title>
    </head> 
    <body>             
        Name: <input type="text" id="name">
         <input type="submit" id="name-submit" value="Grab">
            <div id="name-data"></div>
        <script src="http://code.jquery.com/jquery-1.11.2.min.js"></script>
        <script src="js/global.js"></script>
    </body>
</html>

1 个答案:

答案 0 :(得分:2)

您将MySQL错误结果附加到查询中,并且您尝试查询查询结果,请尝试以下操作:

$query = "SELECT `names`.`location` FROM `names` WHERE`names`.`name` = '$name'";
$result = mysqli_query($con, $query);
if (mysqli_num_rows($result) > 0) {

编辑:

{$name}这是一个字符串,应该引用它。

'$name'子句中将其更改为where

使用:

$result = mysqli_query($con, $query) or die(mysqli_error($con));

将为您提供查询失败原因的原因。