PHP5 的代码升级到 PHP7 遇到的问题

2016-07-15 16:46:04 +08:00
 Smirnoff

准备把 PHP5 的代码升级带 PHP7 ,其他的代码基本修改完成,但是下面这段代码数组存取就是不显示内容, 大家帮忙看看指出错误谢谢。。。

           <?php 
			$echo=1;
			$search="";
			if(isset($_POST['search'])){$search="and url like '%{$_POST['search']}%'";
			}
			$query=mysqli_query($conn,"select count(*) as row from sqlmap where hash!='' {$search} and userhash='{$hash}' order by pr desc");
			while($row=mysqli_fetch_array($query)){
			if($row['status']=='running') {$class='active';}
			else{$class='success';}
			preg_match_all('/ => \'(.*)\n\'/',$row['data'],$match);
			$match=$match[1];
			$last=@$match[count($match)-1];
			$key=$row['key'];
			$stat=$row['status'];
			$url=$row['url'];
			$pr=$row['pr'];
			$dbtype=$row['dbtype'];
            $node=$row['apiserver'];
			if(stripos($last,"back-end") and stripos($last,"--dbms")==false){
				$class='danger';
				$stat='Inject';
				mysqli_query($conn,"update sqlmap set status='{$stat}' where `key`='{$key}' and userhash='{$hash}'");
				
			}
			preg_match_all('/ => \'(.*)\n\'/',$row['data'],$match);
			$data='';
			foreach($match[1] as $m){
						$m=stripcslashes($m);
						$data.=$m."\n";
					
						
					}
				
			if(@$_GET['vul']==1 and $stat!='Inject'){
				//echo $stat."<br>";
				$echo=0;
			}else{$echo=1;}
			if($echo){
			?>
		
				<tr class="<?php echo $class?>">

					<td>
						<?php echo $key?>
						<?php echo test?>
						<?php echo $row?>
						<?php print_r ($key);?>
					</td>
					<td>
						<?php echo substr($url,0,60)?>..
					</td>
					<td>
					
						<?php echo $stat;?>
						
					</td>
                        <td>
					
						<?php echo $node;?>
						
					</td>
9855 次点击
所在节点    PHP
44 条回复
lynnworld
2016-07-15 17:09:16 +08:00
把 @ 错误抑制都去掉,看看什么报错
chaegumi
2016-07-15 17:14:01 +08:00
写的很糟糕的代码
Felldeadbird
2016-07-15 17:16:05 +08:00
and url like '%{$_POST['search']}%'
好大一个注入。。
BOYPT
2016-07-15 17:25:20 +08:00
(看出错误!
Smirnoff
2016-07-15 17:26:37 +08:00
@lynnworld
@chaegumi
@Felldeadbird
$query=mysqli_query($conn,"select count(*) as row from sqlmap where hash!='' {$search} and userhash='{$hash}' order by pr desc");
代码不是我写的
貌似是这段写的出现了问题
z5864703
2016-07-15 17:35:53 +08:00
debug 啊,排版这样的代码看出错误。。。
killall
2016-07-15 17:37:27 +08:00
我勒个擦!!!!恕知识浅薄,看第一眼 $echo 这变量就不敢往下看了!
hoythan
2016-07-15 17:44:20 +08:00
你这代码我都看懵逼了.
saeed
2016-07-15 17:48:59 +08:00
mysql_query(query,connection)
saeed
2016-07-15 17:51:38 +08:00
看错了!
helone
2016-07-15 18:10:31 +08:00
aprikyblue
2016-07-15 18:27:59 +08:00
这什么鬼玩意。。
initialdp
2016-07-15 18:28:23 +08:00
php7 默认把这个 mysql 接口库移除了吧?话说 PDO 很多年前就已经出了,这年头居然还在用拼接。。。
darluc
2016-07-15 18:29:35 +08:00
可以参考一下这个噢: https://log.zvz.im/2015/10/24/PHP7-1/
"对于不一致性的修复" 这个部分有说明 "表达式求值上严重的不一致问题"
500miles
2016-07-15 18:31:00 +08:00
第一行就炸裂! boom boom boom
genffy
2016-07-15 19:48:44 +08:00
那些说 PHP 是世界上最好的语言的 programer 你们幸苦了。
lhbc
2016-07-15 20:02:02 +08:00
那么问题来了,入侵楼主网站需要多长时间?
cxbig
2016-07-15 20:22:02 +08:00
惨不忍睹。。。重写吧。。。
cevincheung
2016-07-15 20:28:11 +08:00
不吐槽了。

mysqli_fetch_array 第二个参数默认是 MYSQLI_BOTH ,改成 MYSQLI_ASSOC 。
notgod
2016-07-15 21:10:43 +08:00
只能帮你到这里来少年

简单修复过 无测试
https://blog.cnlabs.net/4721.html


很优雅的语言
怎么被写成这样
sql 那块 尽量使用 pdo
实在不习惯 使用 sql 的封装也可以的 比如 adodb 封装好的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/292731

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX