首页 > 解决方案 > 无法将问号(?)作为字符串从 sql 获取到 php

问题描述

所以我的问题是我必须从 SQL 数据库中获取一个 URL,而这些 URL?中包含www.test.com/test2?test3...

当我尝试在 PHP 中访问该 URL 并执行 var_dump 时,我只得到问号之前的地址,例如:

www.test.com/test2

并且地址不会继续,如果我删除问号,那么整个文本将被打印,但当然,如果没有 ?,URL 将无法工作。

提前致谢。

从 db 获取 URL 的函数:

function getUrl($absolute = false) {
    if($absolute == true) {
        return $this->url;
    } else {
        // return url path only
        $relative_path = parse_url($this->url, PHP_URL_PATH);
        $array = explode("/", $relative_path);
        unset($array[0]);
        unset($array[1]);
        return implode("/", $array);
    }
}

我如何访问它的示例:

$linkAdress = $stream->getUrl();

echo var_dump($linkaddress)

编辑 :

这是我在这里的第一篇文章,我认为我犯了一些菜鸟错误,关于这个问题的一点澄清是我没有完全理解 getUrl 函数,如果我将 true 作为参数添加到该功能,据我所知,这个问题与 PHP 或 MySQL 无关,并且我在此修复后轻松完成了我的项目,再次感谢帮助我解决问题的好人。这种知识来源让我对我未来的项目充满信心,再次感谢。

标签: phpmysqlsql

解决方案


所以通过查看函数并在函数中设置true,它很快就解决了,代码是这样的

http://sandbox.onlinephpfunctions.com/code/fcbeb657158d4a635b01173f88a5945492106ebe

事实证明,在对变量使用 echo 或 var_dump 之前,我必须将函数设置为 true。

感谢 ADyson 的大力帮助。


推荐阅读