php - 使用 PDO 从数据库中提取值

标签 php mysql api pdo

我有一个问题:如何使用 pdo 从数据库中提取值? 当前代码:

$item = $_GET['item'];
$item = str_replace("\"", "", $item);
$item = str_replace("\'", "", $item);
$item = str_replace(" ", "%20", $item);
$item = str_replace("\\", "", $item);
@include_once ("pdocon.php");
$stmt = $dbh->prepare("SELECT * FROM items WHERE name=?");
$stmt->execute(array($item));
$rs = $stmt->fetch(PDO::FETCH_ASSOC);
$stmtt = $dbh->prepare("SELECT auth FROM auth where id=1");
$code = $stmtt->fetch(PDO::FETCH_ASSOC);

我正在尝试从数据库中获取 $code 作为 mysql 查询“SELECT auth FROM auth where id=1”的结果。我不知道为什么,但它不起作用。

更新: 好的,这是 php 文件的全部代码,它提取 $code 并将其放在一个 URL 链接中,这是一个 API 调用。运行此 php 后,我不断得到 0 个值。

<?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");
$stmt = $dbh->prepare("SELECT * FROM items WHERE name=?");
$stmt->execute(array($item));
$rs = $stmt->fetch(PDO::FETCH_ASSOC);
$stmtt = $dbh->prepare("SELECT auth FROM auth where id=1");
$stmtt->execute(); 
$code = $stmtt->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=(MYKEYHERE)&code=".$code."&names=".$item."&delimiter=!END!";
$string = file_get_contents($link);
$json = $string;

$obj = json_decode($json);
if($obj->{'status'} == "fail") die("notfound");
$lowest_price = $obj->data->prices[0]->{'price'};
$lowest_price = (float)($lowest_price);
$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;
print_r($lowest_price);
?>

最佳答案

您还没有执行 $stmtt,所以没有要获取的结果集。

$stmtt = $dbh->prepare("SELECT auth FROM auth where id=1");
$stmtt->execute();
$code = $stmtt->fetch(PDO::FETCH_ASSOC);

关于php - 使用 PDO 从数据库中提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33662738/

相关文章:

php - 如何处理事务中相互依赖的查询?

javascript - 网站不调用AJAX,不报错,以前这样做过

php - XPath 查询有时不显示正确的元素

php - 如何将 MySQL 行折叠为列结果

mysql - 使用 mysql 或 sqlite3 解释 Rails 4 sql 查询

mysql - 在 MySQL 中,为什么我必须定义外键关系?

rest - Magento 2 Rest Api - 请求参数中的关联数组

javascript - REST API azure 语音转文本(已识别 : Text=undefined)

iphone - 使用推特 ://tweetie://custom scheme on iPhone to open twitter application to a specific user profile

php - 在 php 中创建一个 .sql 文件