在数组PHP MYSQLi中显示数据库值
我试图显示我从ajax发送到php文件的一些数据,但是由于某种原因它没有显示在页面上。它的工作方式是在输入字段中输入一个搜索词,ajax脚本将该值发布到php脚本,php脚本返回请求返回的数据库值在数组PHP MYSQLi中显示数据库值,php,ajax,mysqli,Php,Ajax,Mysqli,我试图显示我从ajax发送到php文件的一些数据,但是由于某种原因它没有显示在页面上。它的工作方式是在输入字段中输入一个搜索词,ajax脚本将该值发布到php脚本,php脚本返回请求返回的数据库值 error_reporting(E_ALL); ini_set('display_errors', '1'); if (isset($_POST['name']) === true && empty($_POST['name']) === false) { //requi
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>
零售管理应用程序
姓名:
如果要将MySQL错误结果附加到查询中,并尝试查询查询结果,请尝试以下操作:
$query = "SELECT `names`.`location` FROM `names` WHERE`names`.`name` = '$name'";
$result = mysqli_query($con, $query);
if (mysqli_num_rows($result) > 0) {
编辑:
{$name}
这是一个字符串,应该用引号代替
在where
子句中将其更改为'$name'
使用:
$result = mysqli_query($con, $query) or die(mysqli_error($con));
将向您提供查询失败的原因。您从AJAX调用中得到的响应是什么?您在查询激发中有
mysqli_error()
。它应该是-query=mysqli_查询(“选择`names`.`location`from`names`WHERE`names`.`name`={$name}”)或死(mysqli_error($con))
Chip Dean,我找不到名字!然后你在对上一个查询进行查询$result=mysqli\u query($con,$query)
,实际上是$result=mysqli\u query($con,mysqli\u query)(“选择名字位置`从名字哪里名字名字名字名字=$Name})“.mysqli_错误($con));”`$name
是一个字符串,因此需要将其引用-。。。其中`names`.`name`='{$name}'“
Hi scrowler,我做了更改,但似乎仍然显示找不到名称,即使数据库中存在记录。您是否调试了PHP文件中的$\u POST
,以确保正确传递$Name
的值?Yh它显示:br/>警告:mysqli\u real\u escape\u string()只需要2个参数,第8行的/Applications/MAMP/htdocs/ajax/name.php中给出1个警告:mysqli_num_rows()需要参数1是mysqli_result,第12行的/Applications/MAMP/htdocs/ajax/name.php中给出的字符串
@YacubAli关于{$name}
的注释中的某个人应该读作{$name}“
在您的where
子句中执行该操作或只执行'$name'
或'$name.'
”。这是现在最可能的原因。@YacubAli不客气,很高兴能帮上忙,干杯