从PHP中的select语句中打印一个值

时间:2014-01-02 23:47:10

标签: php mysql variables

我要做的就是在<h1>标签中显示mysql数据库中项目的价格。没有什么花哨或困难。我有一个页面上有60项,我需要在我们的数据库上更新一年2到3次的价格。这将使该页面与数据库保持一致。

我已经建立了一个标准的mysql连接。我已经从select语句中定义了一个变量。现在我只需要知道如何显示信息。当我运行这个php时,我收到错误“注意:未定义的变量:第123行的/Applications/MAMP/htdocs/staging/dynamic_mixers.php中的产品”

以下是我的代码。

$products = "SELECT Base_Price FROM products Where record_number=1072;
echo "<h1>'.$products['Base_Price'].</h1>

2 个答案:

答案 0 :(得分:2)

在php中,你编写了查询:

$products = "SELECT Base_Price FROM products Where record_number=1072"; //don't forget end quote

您建立了与数据库的连接,如下所示:

$connection = new mysqli("localhost", "user", "password", "database");

然后使用连接发送要处理的查询,如下所示:

$results = mysqli_query($connection, $products);

然后你需要遍历结果(即使只有一个)

while ($row = mysqli_fetch_assoc($result)) {

}

在该循环中,您可以访问$ row ['Base_Price']

while ($row = mysqli_fetch_assoc($result)) {
    echo $row['Base_Price']
}

在此处详细了解:PHP and MySQL

答案 1 :(得分:0)

我更喜欢在mysqli上使用PHP数据对象。性能更好,更容易受到注射攻击。

// setup the query
$dbh = new PDO
(
    'mysql:host=localhost;dbname=myDatabase',
    $username,
    $password,
    array
    (
        PDO::ATTR_DEFAULT_FETCH_MODE=>PDO::FETCH_ASSOC
    )
);

$query = $dbh->Prepare('SELECT Base_Price FROM products Where record_number=? LIMIT 1');

// execute for one item
$query->execute(array(1072));
$singlePrice = $query->fetch();

// execute for the next item
$query->execute(array(1073));
$singlePrice = $query->fetch();

// execute for the third item, etc
$query->execute(array(1074));
$singlePrice = $query->fetch();

您可以在for循环中抛出所有执行,并获得最大性能,因为PDO正在使用预准备语句。