Home > Article > Backend Development > 我这个ajax代码哪里不对了?
就是用ajax检测用户名 不知道为什么弹不出来yes或者no 而是弹了下面一个东西
数据库里面也有东西
前台页面
<!DOCTYPE html><html><head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> function ajax(url,funsucc){ var oAjax=new XMLHttpRequest(); oAjax.open('GET',url,true); oAjax.send(); oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(oAjax.status==200){ funsucc(oAjax.responseText); } }}} </script> <script type="text/javascript"> window.onload=function(){ var oTxt=document.getElementById('txt1'); oTxt.onblur=function(){ ajax("chaxun.php?id="+oTxt.value,function(str){ alert(str); }); } } </script></head><body><form> <input type="text" id="txt1" name="user"></form></body></html>
<?php$pdo=new PDO("mysql:host=localhost;dbname=t1","root","");$id=$_GET["id"];$stmt=$pdo->prepare("select * from user WHERE username=?");$stmt->execute(array($id));$res=$stmt->fetchall();$result=mysql_affected_row($res);if($result==-1){ echo "yes";}else{ echo "no";}?>
我知道mysql_affected_row写错了 我改成mysql_affected_rows还是不行
弹出的是 xdebug 的错误报告
指出 chaxun.php 第 7 行 $result=mysql_affected_row($res); 中的 mysql_affected_row 是未定义函数
正确的写法是:mysql_affected_row s
不过你是用 PDO 连接并操作数据库的,用了 mysql_affected_rows 也是错误的
即便你是使用 mysql 扩展操作数据库,mysql_affected_rows 也对 select 指令无效
所以 $result=mysql_affected_row($res); 应删去
if($result==-1){
改为
if(! $res){
$stmt->fetchall() 返回的是数组,如果没有查到数据的话,$res 就是空数组
弹出的是 xdebug 的错误报告
指出 chaxun.php 第 7 行 $result=mysql_affected_row($res); 中的 mysql_affected_row 是未定义函数
正确的写法是:mysql_affected_row s
不过你是用 PDO 连接并操作数据库的,用了 mysql_affected_rows 也是错误的
即便你是使用 mysql 扩展操作数据库,mysql_affected_rows 也对 select 指令无效
所以 $result=mysql_affected_row($res); 应删去
if($result==-1){
改为
if(! $res){
$stmt->fetchall() 返回的是数组,如果没有查到数据的话,$res 就是空数组