note 96263 added to book.simplexml
| From: | emmanuel at osu1 dot php dot net | Date: | Wed, 17 Feb 2010 18:21:24 +0000 |
| Subject: | note 96263 added to book.simplexml | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-166087@lists.php.net to get a copy of this message | ||
dynamic sql in php using xml:
//test.xml
<?xml version="1.0" encoding="UTF-8"?>
<sql>
<statement>
SELECT * FROM USERS
<call criteria="byId">WHERE id = %d</call>
<call criteria="byUsername">WHERE username = "%s"</call>;
</statement>
</sql>
//index.php
function callMe($param) {
$search = array('byUsername' => 'dynsql');
if (isset($search[$param[1]])) {
return sprintf($param[2], $search[$param[1]]);
}
return "";
}
$xml = simplexml_load_file("test.xml");
$string = $xml->statement->asXML();
$string = preg_replace_callback('/<call
criteria="(\w+)">(.*?)<\/call>/', 'callMe', $string);
$node = simplexml_load_string($string);
echo $node;
obviously, this example can be improved
----
Server IP: 201.216.232.3
Probable Submitter: 190.220.142.81
----
Manual Page -- http://www.php.net/manual/en/book.simplexml.php
Edit -- https://master.php.net/note/edit/96263
Del: integrated -- https://master.php.net/note/delete/96263/integrated
Del: useless -- https://master.php.net/note/delete/96263/useless
Del: bad code -- https://master.php.net/note/delete/96263/bad+code
Del: spam -- https://master.php.net/note/delete/96263/spam
Del: non-english -- https://master.php.net/note/delete/96263/non-english
Del: in docs -- https://master.php.net/note/delete/96263/in+docs
Del: other reasons-- https://master.php.net/note/delete/96263
Reject -- https://master.php.net/note/reject/96263
Search -- https://master.php.net/manage/user-notes.php