IIS环境下PHP版本过低无法Sql查询的解决
需求:帝国后台添加个后台框,输入地址,原页面重写成所指链接页面
重点:当输入框输入地址,提交到后台后,打开原链接,该页面会读取php文件GetUrlPage.php
1 <?php 2 header("Content-Type: text/html;charset=utf-8"); 3 $str=''; 4 $result['status']=1; 5 $id = $_POST["id"]; 6 $con=mysqli_connect("localhost","root","root","ce"); 7 if(mysqli_connect_errno($con)){ 8 echo "连接 MySQL 失败:".mysqli_connect_error(); 9 } 10 $sql="SELECT change_url FROM phome_ecms_download where id=".$id; 11 $row=mysqli_query($con,$sql); 12 if($row['change_url']){ 13 $str=getHttps($row['change_url']); 14 } 15 if($str){ 16 $result['status']=2; 17 $result['info']=$str; 18 } 19 //获取外链页面 20 function getHttps($url){ 21 //初始化 22 $ch = curl_init(); 23 //设置选项,包括URL 24 curl_setopt($ch, CURLOPT_URL, $url); 25 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 26 curl_setopt($ch, CURLOPT_HEADER, 0); 27 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts 28 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 29 30 $output = curl_exec($ch); //执行并获取HTML文档内容 31 $str = $output;//转换为源代码形式 32 //释放curl句柄 33 curl_close($ch); 34 return $str ; 35 } 36 37 echo json_encode($result); 38 ?>
根据排错,发现 $sql 无法输出相应的值,换做低版本写法:
1 <?php 2 header("Content-Type: text/html;charset=utf-8"); 3 $str=''; 4 $result['status']=1; 5 $id = $_POST["id"]; 6 $conn=@mysql_connect("localhost","root","root","ce") or die('服务器连接失败'.mysql_error()); 7 @mysql_select_db('phome') or die('数据库连接错误'.mysql_error()); 8 mysql_query("set names 'utf8'"); 9 $sql ="SELECT change_url FROM phome_ecms_download where id=".$id; 10 $query=mysql_query($sql); 11 $row=mysql_fetch_array($query,MYSQL_ASSOC); 12 if($row['change_url']){ 13 $str=getHttps($row['change_url']); 14 } 15 if($str){ 16 $result['status']=2; 17 $result['info']=$str; 18 } 19 //获取外链页面 20 function getHttps($url){ 21 //初始化 22 $ch = curl_init(); 23 //设置选项,包括URL 24 curl_setopt($ch, CURLOPT_URL, $url); 25 curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 26 curl_setopt($ch, CURLOPT_HEADER, 0); 27 curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // https请求 不验证证书和hosts 28 curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); 29 30 $output = curl_exec($ch); //执行并获取HTML文档内容 31 $str = $output;//转换为源代码形式 32 //释放curl句柄 33 curl_close($ch); 34 return $str ; 35 } 36 37 echo json_encode($result); 38 ?>
经测试OK!!!
结论:PHP版本低于程序语句标准,Sql语句不起作用!
分类:
PHP
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现