【发布时间】:2016-03-01 19:39:00
【问题描述】:
我需要 2 个警告和 6 个通知方面的帮助。
注意:试图获取非对象的属性 在第 11 行
注意:试图获取非对象的属性 第 28 行
注意:试图获取非对象的属性 第 29 行
注意:试图获取非对象的属性 第 30 行
注意:试图获取非对象的属性 第 31 行
注意:试图获取非对象的属性 第 33 行
警告:PDOStatement::execute(): SQLSTATE[23000]: 完整性 违反约束:1048 列“steamID”不能为空 第 34 行
我已经尝试修复代码 4 个小时了,但我就是不明白到底发生了什么......
<?php
require_once "../config.php";
require_once "../db.php";
if(!isset($_GET['secret']) || $_GET['secret'] != $config['bot_key_add']){
die("Access denied");
return;
}
$json = json_decode(file_get_contents("php://input"), false, 512, JSON_BIGINT_AS_STRING);
if((int)$json->userID ==)
return;
$weapon = urlencode($json->weapon);
$link = "http://steamcommunity.com/market/priceoverview/?currency=1&appid=730&market_hash_name=".$weapon;
$steam_price = file_get_contents($link);
$item_price = json_decode($steam_price, false, 512, JSON_BIGINT_AS_STRING);
if(empty($item_price) || $item_price->success == false || empty($item_price->median_price))
{
$price = 400;
}
else
{
$price = $item_price->median_price;
$price = str_replace("$" , "", $price);
$price = str_replace("$" , "", $price);
$price = round(str_replace(",",".",$price), 2);
}
$saveWeapon = $pdo->prepare("INSERT INTO `{$config['db_prefix']}users_items` (`steamID`, `classid`, `assetid`, `weapon_name`, `price`, `float`) VALUES (:steamId , :classid , :assetid , :weaponName , :price, :float)");
$saveWeapon->execute([ ":steamId" => $json->userID,
":classid" => $json->classid,
":assetid" => $json->assetid,
":weaponName" => $json->weapon,
":price" => $price,
":float" => $json->color
]);
?>
【问题讨论】:
-
您应该在此处发布警告,而不是链接到它的图像。
-
看起来
json_decode返回数组而不是对象,但您正试图将属性作为对象访问。 stackoverflow.com/questions/21974951/… 你能用var_dump($json)的输出更新问题吗? -
$json = NULL /3chars
-
(int)$json->userID ==)