pg_escape_string 如何返回数组中的值

发布于 2024-11-08 17:24:00 字数 1017 浏览 2 评论 0 原文

我的数组不像 D'Souza 那样返回 ' 值

$query= "select vmname,guid,hostid,guestosname from vmobjects";

    AddLog("infrastructure.php","Query: ".$query,ERR_DEBUG_LOW);
    $result = pg_query($conn,$query);
    $no_records=pg_num_rows($result);
    $j=$no_records;
    $i=0;
    while($row = pg_fetch_array($result))
    {
        if($row[3]=="")
        {
            $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2];
        }
        else
        {

            $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2];
        }
        $i++;
    }

这是我在其他页面上的 pg_escape_string

$username_escaped = pg_escape_string($username);
    $password_escaped = pg_escape_string($password);
    $name_escaped = pg_escape_string($name);

        $query = "insert into vmobjects (guid,ipaddress,username,password,hostid,vmname,guestostype) values('".$guid."','".$ip."','".$username_escaped."','".$password_escaped."','".$hostid."','".$name_escaped."','".strtolower($os)."')";

my array does not return the ' value like D'Souza

$query= "select vmname,guid,hostid,guestosname from vmobjects";

    AddLog("infrastructure.php","Query: ".$query,ERR_DEBUG_LOW);
    $result = pg_query($conn,$query);
    $no_records=pg_num_rows($result);
    $j=$no_records;
    $i=0;
    while($row = pg_fetch_array($result))
    {
        if($row[3]=="")
        {
            $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2];
        }
        else
        {

            $vmobj_Array[$i]=$row[0].'***'.$row[1].'***'.$row[2];
        }
        $i++;
    }

Here is my pg_escape_string on other page

$username_escaped = pg_escape_string($username);
    $password_escaped = pg_escape_string($password);
    $name_escaped = pg_escape_string($name);

        $query = "insert into vmobjects (guid,ipaddress,username,password,hostid,vmname,guestostype) values('".$guid."','".$ip."','".$username_escaped."','".$password_escaped."','".$hostid."','".$name_escaped."','".strtolower($os)."')";

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

乙白 2024-11-15 17:24:00

当您说“不返回”时,您是指在管理数据库时查询数据库时,还是在网页中显示结果时?

我认为您的意思是后者,在这种情况下,我猜问题现在就出现了,因为您显示它的表单使用单引号值=''。您可以通过查看相关页面的 html 源代码来证明是否是这种情况。

您应该使用 htmlentities() 或该系列 html 转义机制来转义要在 html 中显示的数据(并保护您的用户免受可能的 xss 攻击)。

When you say "does not return" do you mean when you query the database in whatever you manage your database with, or do you mean when you display the results in a webpage?

I will take it you mean the latter, in which case I guess that the problem is showing up now because the form you display it in is using single quotes value =''. You can prove whether this is the case or not by looking at the html source code of the page in question.

You should escape the data for display in html (and protect your users from possible xss attacks) by using htmlentities() or that family of html escaping mechanisms.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文