Нет результатов по эхо

1

Я сделал этот PHP-код, чтобы получить результат от API, но он не работает. Я сделал некоторые эхо-сигналы для переменных, чтобы проверить, отображаются ли они на экране, но пока ничего не отображается. Любое решение или идея почему?

Благодарю.

 <?php
    $item = $_GET['item'];
    $item = str_replace("\"", "", $item);
    $item = str_replace("\'", "", $item);
    $item = str_replace(" ", "%20", $item);
    $item = str_replace("\\", "", $item);
    @include_once ("pdocon.php");
    $code='SELECT auth FROM auth where id=1';
    echo $code;
    $stmt = $dbh->prepare("SELECT * FROM items WHERE name=?");
    $stmt->execute(array($item));
    $rs = $stmt->fetch(PDO::FETCH_ASSOC);
    if(!empty($rs)) {
            if(time()-$rs["lastupdate"] < 604800) die($rs["cost"]);
    }
    $link = "https://bitskins.com/api/v1/get_item_price/?api_key=(an api key here)&code=".$code"&names=".$item;
    $string = file_get_contents($link);
    $json = $string;

    $obj = json_decode($json);
    echo $obj;
    //print $obj->{"median_price"}; // 12345
    //$obj = json_decode($string);
    if($obj->{'status'} == "success") die("notfound");
    $lowest_price = $obj->{'price'};
    $lowest_price=str_replace("$", "", $lowest_price);
    $lowest_price = (float)($lowest_price);

    //$stmt = $dbh->prepare("DELETE FROM items WHERE name=?");
    //$stmt->execute(array($item));
    $stmt = $dbh->prepare("UPDATE items SET 'cost' = ?,'lastupdate' = ? WHERE 'name' = ?");
    $stmt->execute(array($lowest_price, time(), $item));
    $stmt = $dbh->prepare("INSERT INTO items ('name','cost','lastupdate') VALUES (?, ?, ?)");
    $stmt->execute(array($item, $lowest_price, time()));
    echo $lowest_price;
    ?>

UPDATE: по какой-то причине результаты не импортируются в базу данных, поэтому я попытаюсь разбить все на более мелкие части: это код из pdocon.php:

<?php
$user="";
$pass="";
try {
    $dbh = new PDO('mysql:host=localhost;dbname=testjackpot', $user, $pass);

} catch (PDOException $e) {
    print "Error!: " . $e->getMessage() . "<br/>";
    die();
}
?>

Вот как выглядит таблица auth: https://gyazo.com/75ea3a77773820f0c3adbdc24fc99185

Это результат вызова API: https://gyazo.com/efe5680baad104be97281c5dac3d2c58

По какой-то причине даже делая print_r ($ code), скажем, на веб-странице, созданной на этом php, ничего не отображается.

UPDATE2:

Пытался использовать

<?php
$item = $_GET['item'];
$item = str_replace("\"", "", $item);
$item = str_replace("\'", "", $item);
$item = str_replace(" ", "%20", $item);
$item = str_replace("\\", "", $item);
@include_once ("set.php");
$code=mysql_query("SELECT auth FROM auth where id=1");
echo $code;
$rs = mysql_query("SELECT * FROM items WHERE name='$item'");
if(mysql_num_rows($rs) > 0) {
    $row = mysql_fetch_array($rs);
    if(time()-$row["lastupdate"] < 3600) die($row["cost"]);
}
$link = "https://bitskins.com/api/v1/get_item_price/?api_key=(code)&code=".$code."&names=".$item."&delimiter=!END!";
$string = file_get_contents($link);
echo $string;
$obj = json_decode($string);
if($obj->{'success'} == "0") die("notfound");
$lowest_price = $obj->data->prices[0]->price;
$lowest_price[strlen($lowest_price)] = 0;
$lowest_price = str_replace("$","",$lowest_price);
$lowest_price = (float)($lowest_price);
mysql_query("DELETE FROM items WHERE name='$item'");
mysql_query("INSERT INTO items ('name','cost','lastupdate') VALUES ('$item','$lowest_price','".time()."')");
echo $lowest_price;
?>

Все еще ничего не показываю. UPDATE3: для последнего кода выше я, наконец, получил что-то: gyazo. ком /9fde818695abac2f4fe7997482ba5865

  • 0
    json_decode генерирует массив, поэтому добавьте print_r() или var_dump() для проверки
  • 0
    Если вы даже не получили первое эхо, это потому, что include_once убивает вас. И, ради бога, удалите это "@" Никогда не используйте это! Если вы не хотите, чтобы появилось предупреждение, приведите в порядок свой код
Показать ещё 2 комментария
Теги:
echo

2 ответа

0

У вас есть ошибка в вашем синтаксисе - должна быть точка между $code и "&names

$link = "https://bitskins.com/api/v1/get_item_price/?api_key=(an api key here)&code=".$code."&names=".$item;


Чтобы увидеть сделанные ошибки - вы можете добавить

php_flag display_errors on

в ваш.htaccess файл (только в версии разработчика сайта)

  • 0
    Там нет точки там ...
  • 0
    @bogdanb Так ... это должно быть там, не так ли?
Показать ещё 14 комментариев
0

Попробуйте это без @before include_once. Возможно, путь неправильный или файл недоступен.

  • 0
    не работает. Цены не генерируются (ничего в таблице базы данных)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню