繁体   English   中英

将XQuery与PHP变量一起使用

[英]Using XQuery with PHP Variables

我正在尝试使用php运行xquery。 我已经运行了某些查询,但是,我不确定如何在其中使用变量。 我一直在搜索,但参考文献很少。

谢谢。

这是变量和查询:

$contype=$_POST['ctype']; 
$cnumber=$_POST['number'];
$cid = $_POST['id'];

$query = 'UPDATE clients SET phone = xmlquery(\'transform copy $pn := $num modify do insert
document{
    <contact type="$contype">
        <phoneno>$cnumber</phoneno>
    </contact>
}
into $pn/phone
return $pn\'
passing clients.phone as "num")
where id =$cid';

对于PHP,这只是一个字符串 您使用的是单引号,因此不会在字符串中替换变量。 您可以将静态部分与动态部分连接起来,使用双引号字符串,使用sprintf() ,...

$foo = 'Hello '.$name.'!';
$foo = "Hello $name!";
$foo = sprintf('Hello %s!', $name);

根据您使用字符串的方式,可以使用预处理语句。 他们照顾可能需要避免的转义,以避免SQL注入。

谢谢! PHP确实有办法解决这些问题,即使对于XQuery也是如此。 这是我所做的:

$contype=$_POST['ctype']; 
$cnumber=$_POST['number'];
$cid = $_POST['id'];

$query = 'UPDATE clients SET phone = xmlquery(\'transform copy $pn := $num modify do insert
document{
    <contact type="'.$contype.'">
        <phoneno>'.$cnumber.'</phoneno>
    </contact>
}
into $pn/phone
return $pn\'
passing clients.phone as "num")
where id =$cid';

这也有助于他人制作相同类型的应用。 :)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM