【问题标题】:PHP/MySQL queries not working?PHP/MySQL 查询不起作用?
【发布时间】:2018-04-20 04:13:47
【问题描述】:

我的数据库中有这些表

table 1 命名为“store_item_stock”

table 2 命名为“store_item_color”

我正在使用以下代码来创建项目名称及其各自代码的下拉列表:

//get colors
$get_colors_sql = "SELECT DISTINCT color_id FROM store_item_stock WHERE item_id = '" . $_GET["item_id"] . "' ORDER BY color_id";
$get_colors_res = $conn->query($get_colors_sql) or die("Couldn't connect :" . $conn->error);


$colors = $get_colors_res->fetch_array();
//if the item has colors
if ($get_colors_res->num_rows > 0 && !is_null($colors['color_id'])) {
    //create select statement
    $display_block .= "<p><strong>Available colors:</strong><br/>
   <select name=\"sel_item_color\">";

    do {
        $item_color = $colors['color_id'];
        //query the name belonging to that id
        $get_item_color_name_sql = "SELECT * FROM store_item_color WHERE color_id = ".$item_color;

        $get_item_color_name_res = $conn->query($get_colors_sql) or die("Couldn't connect :" . $conn->error);
        $color_name = $get_item_color_name_res->fetch_array();
        echo $color_name['color_id'];

        $display_block .= "<option value=\"" . $item_color . "\">" . $color_name['item_color'] . "</option>";

        echo "<pre>".var_dump($color_name)."</pre>";
    }while ($colors = $get_colors_res->fetch_array());
}

$display_block .= "</select>";

//free result
$get_colors_res->free();
$get_item_color_name_res->free();

但是,当我运行此代码时,选择包含 3 empty strings。 我试过 var dumping 并得到了这个:

1array(2) { [0]=> string(1) "1" ["color_id"]=> string(1) "1" }

1array(2) { [0]=> string(1) "1" ["color_id"]=> string(1) "1" }

1array(2) { [0]=> string(1) "1" ["color_id"]=> string(1) "1" }

我可以做些什么来解决这个问题并让颜色的名称显示在下拉列表中。

【问题讨论】:

  • 表1和表2的名称是什么?
  • 表 1 被命名为 'store_item_stock' 表 2 被命名为 'store_item_color'

标签: php mysql


【解决方案1】:

根据您的 var_dump $color_name 不包含 item_color 的索引。因此空选择。

我认为您在do 循环中查询错误,应该是

$get_item_color_name_res = $conn->query($get_item_color_name_sql) or die("Couldn't connect :" . $conn->error);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多