ホームページ >バックエンド開発 >PHPチュートリアル >mysqlデータベースは一度しか更新できませんか?そして結果を文字列と比較する方法

mysqlデータベースは一度しか更新できませんか?そして結果を文字列と比較する方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBオリジナル
2016-06-23 14:12:52758ブラウズ

php で作成されたダウンロード関数、完成した関数は次のとおりです:
1. ログインしていない場合はログインインターフェイスにジャンプします
2. ダウンロード数

コードは次のとおりです: (コードのコメントに 3 つの質問が書かれています) 、ありがとうございます)

ダウンロードしたいファイル (リンク) をクリックして、singledownload.php ページにジャンプし、ダウンロードを処理します
99bafc48974d91b80781bc2c638f9e82&file_id=

        $file_name = $_GET['file_name'];   //文件名(数据库中查找出来的)	$file_dir  = $_GET['file_dir'];      //文件路径(固定的)	$file_id = $_GET['file_id'];    //文件ID(数据库中查找出来的)		/*连接数据库*/	$link=mysql_connect("localhost","root","root"); 	mysql_select_db("wpgc", $link);	$q = "SELECT * FROM downloads WHERE file_id=" . $file_id;		mysql_query("SET NAMES UTF-8");	$rs = mysql_query($q, $link); //获取结果集	if(!$rs){	    die("无效结果集");	}		//权限检测	if ( !is_user_logged_in() ) { //如果没有登录	    if ( $row[10] == "2") { //检查文件权限‘2’的意思是登录后才能下载这个文件               //问题1:$row[]是什么?我没有在任何地方定义过,并且程序没有进入这里;但是在链接中$row[1]是成功的,我希望$row[]是数据库中存放的值	        echo "<script>window.location ='../../../login.php';</script>";           }	}	        /*计算下载次数*/	$downloadcount = $row[9];	$downloadcount = $downloadcount + 1;			$sql = "UPDATE downloads SET file_hits = " . $downloadcount . " WHERE file_id = " . $file_id;        //问题2:这里只能更新一次,第一次下载 更新file_hits字段从0变成1,之后再下载就不会变了	if(mysql_query($sql, $link)){	    	} else {	    	}        //问题3:这个if判断总是说找不到文件,但是将这个注释了以后文件的下载正常        if(!file_exists($file_dir.$file_name)){            echo "找不到 [" . $file_dir.$file_name . "] 文件";	    exit;	}else{            /*开始下载文件(这里很正常)*/		$file = fopen($file_dir.$file_name,"r");		Header("Content-type: application/octet-stream");		Header("Accept-Ranges: bytes");		Header("Accept-Length: ".filesize($file_dir.$file_name));		Header("Content-Disposition: attachment; filename=".$file_dir.$file_name);		echo fread($file, filesize($file_dir.$file_name));		$buffer=1024;		while (!feof($file)) {			$file_data=fread($file,$buffer);			echo $file_data;		}		fclose($file);


私は php の初心者です、もっとアドバイスをお願いします...

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

1. それはあなたが書いたコードではありませんか?他の人はもちろんのこと、それを知っています。

2. それぞれの値を出力しますよね?

3. パスが間違っています

1. それはあなたが書いたコードではありませんか?

2. それぞれの値を出力しますよね?

3. パスが間違っていますよね?
他の人が書いたことを真似したので、たくさんの質問があります...

真似は役に立たない

あなたは自分のことを知る必要がありますやりたい

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