Heim >Backend-Entwicklung >PHP-Tutorial >ajax-return value – Die Demo von PHP, die JSON-Daten zurückgibt, ist wie folgt.
<code><?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); ?> </code>
php gibt JSON-Daten zurück, wenn sie
enthalten<code>$user=$db->get_results($sql); </code>
Diese Ajax-Codezeile gibt einen Fehler zurück.
Wenn diese Codezeile entfernt wird, ist das Ajax-Ergebnis ein Erfolg.
Diese Codezeile ist kein Problem. Ich habe die zurückgegebenen Daten gedruckt und das kommentierte Array wird ausgedruckt Servercode mit Ajax, ich kann den Code direkt beim Absenden des Formulars testen.
Der HTML-Code lautet wie folgt:
<code><!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></code>
<code><?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); ?> </code>
php gibt JSON-Daten zurück, wenn sie
enthalten<code>$user=$db->get_results($sql); </code>
Diese Ajax-Codezeile gibt einen Fehler zurück.
Wenn diese Codezeile entfernt wird, ist das Ajax-Ergebnis ein Erfolg.
Diese Codezeile ist kein Problem. Ich habe die zurückgegebenen Daten gedruckt und das kommentierte Array wird ausgedruckt Servercode mit Ajax, ich kann den Code direkt beim Absenden des Formulars testen.
Der HTML-Code lautet wie folgt:
<code><!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></code>
Es ist ein SQL-Ausführungsfehler aufgetreten, PHP hat einen Fehler ausgegeben. Es wird empfohlen, direkt über einen Webbrowser darauf zuzugreifen, um die Ursache zu ermitteln
Sehen Sie sich den Code der ezSQL_postgresql-Klasse an