无法在mysql php

时间:2015-12-22 04:51:27

标签: php mysql

我使用查询创建了一个表:

CREATE TABLE IF NOT EXISTS `bus` (
  `id` int(11) NOT NULL,
  `name` varchar(255) NOT NULL,
  `hindi` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL
) ENGINE=InnoDB AUTO_INCREMENT=16 DEFAULT CHARSET=latin1;

并将值转储为:

INSERT INTO `bus` (`id`, `name`, `hindi`) VALUES
(1, '1', '1'),
(2, '1A', '1ए'),
(3, 'AC1', 'एसी 1');

当我尝试从此表中获取结果时,如下所示:

while ($row3 = mysql_fetch_array($startb))
{ 
    $bus3 = $row3['busid'];
    $startb2 = mysql_query("select `name` from `bus` where `id`='$bus3'");
    $startb3 = mysql_fetch_array($startb2);
    print_r($startb3);
    $startbu = $startb3['name'];
}

当我尝试打印$startb3的值时,它会给出如下值:

   Array ( [0] => AC1 [name] => AC1 )

不会打印字段idhindi的值。请告诉我们,我在查询中缺少什么?

2 个答案:

答案 0 :(得分:2)

因为您没有在查询中选择id和hindi feilds。试试这样:

while ($row3 = mysql_fetch_array($startb))
{ 
    $bus3 = $row3['busid'];
    $startb2 = mysql_query("select `name`, `id`, `hindi` from `bus` where `id`='$bus3'");
    $startb3 = mysql_fetch_array($startb2);
    print_r($startb3);
    $startbu = $startb3['name'];
}

希望这能解决您的问题。

答案 1 :(得分:2)

您的SQL语句是:

$startb2 = mysql_query("select `name` from `bus` where `id`='$bus3'")

如果你想要其他值,那就是:

$startb2 = mysql_query("select `name`, `id`, `hindi` from `bus` where `id`='$bus3'")

$startb2 = mysql_query("select * from `bus` where `id`='$bus3'")

同样如前一条评论中所述,msql_已弃用,请使用带有变量绑定的msqli_或将来使用PDO。