[英]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.