目次
ディスカッションへの返信 (解決策)
ホームページ バックエンド開発 PHPチュートリアル 私のajaxコードの何が問題なのでしょうか?

私のajaxコードの何が問題なのでしょうか?

Jun 23, 2016 pm 01:15 PM

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>
ログイン後にコピー


バックエンド (chaxun.php)
<?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";}?>
ログイン後にコピー


ディスカッションへの返信 (解決策)

I know that ected_row の記述が間違っています。mysql_affected_rows に変更しましたが、それでも変わりません。動作しません

xdebug からのエラーレポートが表示されました
chaxun.php 行 7 $result= mysql_affected_row($res); は未定義関数です

正しい書き方は次のとおりです: mysql_affected_row s
ただし、接続には PDO を使用しますmysql_affected_rows を使用してデータベースを操作するのは間違いです
mysql 拡張機能を使用してデータベースを操作する場合でも、mysql_affected_rows は select コマンドに対しても無効です

そのため $result=mysql_affected_row($res); は削除する必要があります
if( $result==-1){
if(! $res){ に変更されました

$stmt-> データが見つからない場合、$res は空の配列を返します。ポップアップは xdebug のエラーレポートです。
chaxun.php $result=mysql_affected_row($res); の行 7 にある 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 は空の配列です)


司会者さん、私の基本的なスキルが低すぎるので、もう少し詳しく見てみる必要があります。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットな記事タグ

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

11ベストPHP URLショートナースクリプト(無料およびプレミアム) 11ベストPHP URLショートナースクリプト(無料およびプレミアム) Mar 03, 2025 am 10:49 AM

11ベストPHP URLショートナースクリプト(無料およびプレミアム)

Instagram APIの紹介 Instagram APIの紹介 Mar 02, 2025 am 09:32 AM

Instagram APIの紹介

Laravelでフラッシュセッションデータを使用します Laravelでフラッシュセッションデータを使用します Mar 12, 2025 pm 05:08 PM

Laravelでフラッシュセッションデータを使用します

LaravelのバックエンドでReactアプリを構築する:パート2、React LaravelのバックエンドでReactアプリを構築する:パート2、React Mar 04, 2025 am 09:33 AM

LaravelのバックエンドでReactアプリを構築する:パート2、React

Laravelテストでの簡略化されたHTTP応答のモッキング Laravelテストでの簡略化されたHTTP応答のモッキング Mar 12, 2025 pm 05:09 PM

Laravelテストでの簡略化されたHTTP応答のモッキング

PHPのカール:REST APIでPHPカール拡張機能を使用する方法 PHPのカール:REST APIでPHPカール拡張機能を使用する方法 Mar 14, 2025 am 11:42 AM

PHPのカール:REST APIでPHPカール拡張機能を使用する方法

Codecanyonで12の最高のPHPチャットスクリプト Codecanyonで12の最高のPHPチャットスクリプト Mar 13, 2025 pm 12:08 PM

Codecanyonで12の最高のPHPチャットスクリプト

Laravelの通知 Laravelの通知 Mar 04, 2025 am 09:22 AM

Laravelの通知

See all articles