我知道这段代码可能容易受到SQL注入攻击,这并不重要,这是一个永远不会公开的私人家庭项目,唯一可以访问此代码的人我是我的父亲和兄弟。
我正在制作一个按某些按钮的网站,它会将您送到商店,但由于此错误,商店无法加载:
<b>Notice</b>: Trying to get property of non-object in <b>shop.php</b> on line <b>12</b>
可能有什么不对?我曾尝试在互联网上寻找解决方案,但我没有找到。
这是影响的代码行:
if (!isset($HTTP_RAW_POST_DATA)) {
$HTTP_RAW_POST_DATA = file_get_contents("php://input");
$doc = new DOMDocument();
$doc->loadXML($HTTP_RAW_POST_DATA);
$intShopId = $doc->getElementsByTagName('intShopId');
$shop_id = $intShopId->item(0)->nodeValue;
本案例的最后一行是第12行。
我知道这是因为$intShopId
不是对象。我认为它需要是一个作为参数传递的全局变量,但在这个个案中我无法弄清楚什么是错的,我会感激一些帮助。
这里的问题可能有一些语法错误和/或拼写错误,如果是这种情况我会道歉。我来自瑞典。
答案 0 :(得分:3)
问题出在这一行:
$intShopId = $doc->getElementsByTagName('intShopId');
因为没有<int>
这样的标记 - 甚至任何标记甚至都以此开头,所以该方法返回null,或者其他没有帮助的东西。
您可能希望使用以下方法:
$doc->getElementById('intShopId');