php - mysql_fetch_array 不适用于 1 行查询结果

标签 php mysql

我的查询工作正常。但是尝试从表 mysql 提取数组中获取唯一值不起作用。

这是我的sql A-2815 是车辆的项目代码。这个领域是独一无二的。预期结果是 item_code A-2815 的车辆详细信息。

$sql  = "SELECT vehicle.id, item_code, make, model, vehicle_type, color, showroom_id, "; 
$sql .= "adding_user_Id, approved, image_1 ";
$sql .= "FROM  images,  vehicle ";
$sql .= "WHERE vehicle.id=images.item_id ";
$sql .= "AND (item_code LIKE '%A-2815%' ";
$sql .= "OR  make LIKE '%A-2815%' ";
$sql .= "OR model LIKE '%A-2815%' ";
$sql .= "OR vehicle_type LIKE '%A-2815%' ";
$sql .= "OR color LIKE '%A-2815%' ";
$sql .= "OR showroom_id LIKE '%A-2815%') "; 
$sql .= "AND activate=1 ";
$sql .= "AND type_of_image=1 ";

这是我的 PHP 代码。

<?php
      $query = mysql_query($sql);
      while($result = mysql_fetch_array($query)){
           echo $result['item_code'];
           echo $result['make'];
           echo $result['model'];
           echo $result['vehicle_type'];
           echo $result['color'];
           echo $result['showroom_id'];
      }
 ?>

当结果超过 1 行时,这个工作正常。但问题是当结果为 1 行时它不起作用。

最佳答案

while ($result = mysql_fetch_array($query, MYSQL_ASSOC)) {

    // assoc
    echo $result['item_code'];
}

对此的 MySQLi 解决方案

$connect = mysqli_connect('localhost', 'root', 'pwd', 'dbname');

$sql = "select * from sometable";

$query = mysqli_query($connect, $sql);

while ($result = mysqli_fetch_array($query, MYSQLI_ASSOC)) {
    // assoc
    echo $result['item_code'];
}

关于php - mysql_fetch_array 不适用于 1 行查询结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15082703/

相关文章:

javascript - laravel ajax 404页面未找到

javascript - 我如何使用 knexjs(MySQL) 批量删除。我在匹配单个字段的数组中有条目

mysql - 将 Visual C++ 连接到在线数据库

php - Mysql count 和 count distinct 在同一个查询中

mysql - 对多个表使用 UNION 和 WHERE

mysql - 如何管理非常大的 MySql 数据库

javascript - 来自多维数组的全日历事件数据

php - Composer - 请求的包存在,但这些被你的约束拒绝

php - 使用 get 在 php 中检索值

php - 我可以在其他地方而不是在 Bootstrap 中初始化 Smarty 吗?