php返回json数据的demo如下,请问是什么原因导致该问题?
<?php
// Include ezSQL core
include_once('../include/ez_sql_core.php');
// Include ezSQL database specific component
include_once('../include/ez_sql_postgresql.php');
$username='';
$password='';
$result='';
if(!empty($_POST)){
$username = $_POST["username"];
$password = $_POST["password"];
}else{
}
$db = new ezSQL_postgresql('i2soft', 'i2s@Shanghai', 'sdata', '127.0.0.1');
///$user = $db->query("select id from user2 where name = 'admin' and password ='admin'");
//$user_details = $db->get_row(null, OBJECT, 0);
//var_dump($user_details) ;
$sql = sprintf("select * from user2 where name='%s' and password='%s'",$username,$password);
//echo $sql;
//select * from user2 where name='admin' and password='admin'
$user=$db->get_results($sql);
//var_dump($user);
//array(1) { [0]=> object(stdClass)#5 (3) { ["id"]=> string(1) "1" ["name"]=> string(5) "admin" ["password"]=> string(5) "admin" } }
if($user){
$result='0';
}else{
$result='-1';
}
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr);
?>
php返回json数据,若含有
$user=$db->get_results($sql);
这行代码ajax就返回error。
若去掉这行代码,则ajax结果是success
这行代码是没问题的,返回的数据我打印过,注释的那个数组就是打印出出来,我不用ajax请求服务器代码的话,直接提交表单的时候测过代码。
html代码如下:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../media/image/favicon.ico">
<title>英方I2Active</title>
<!-- Bootstrap core CSS -->
<link href="../media/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom styles for this template -->
<link href="../media/css/login.css" rel="stylesheet">
<script type="text/javascript" src="../media/js/jquery-1.9.1.js"></script>
</head>
<body>
<div class="container">
<form class="form-signin" role="form" action="">
<img src="../media/image/logo.png" />
<h2 class="form-signin-heading">I2Active登录</h2>
<input id="username" type="text" class="form-control" placeholder="User name" required autofocus >
<input id="password" type="password" class="form-control" placeholder="Password" required>
<div class="checkbox">
<label>
<input type="checkbox" value="remember-me"> 记住密码
</label>
</div>
<button id="login" class="btn btn-lg btn-primary btn-block" >登录</button>
</form>
</div>
<!-- /container -->
<script type="text/javascript">
$("#login").click(function () {
var username = $("#username").val();
var password = $("#password").val();
if(username&&password){
$.ajax({
url: '../controller/login2.php', // 跳转到 action
data: {
'username': username,
'password': password
},
type: 'post',
cache: false,
dataType: 'json',
success: function (data) {
alert('ajax success');
},
error: function () {
alert('ajax error');
}
})
}
});
</script>
</body>
</html>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
sql注入了吧,这个。。。
应该是SQL执行那里跑异常了 楼主可以把这个异常栈打印出来看看
SQL执行出错了,PHP抛出错误,建议你用Web浏览器直接访问看看原因
看一下 ezSQL_postgresql 类的代码