使用mysqli_query读取php中的列并不起作用

时间:2017-01-17 13:15:37

标签: php mysql

所以我试图从一个我有表的SQL文件中读取:

CREATE TABLE IF NOT EXISTS `tariff` (
    `type` varchar(50) NOT NULL DEFAULT '',
    `price_single` varchar(30) NOT NULL DEFAULT '0',
    `price_double` varchar(30) NOT NULL DEFAULT '0',
    `totalroom` int(3) NOT NULL DEFAULT '0',
    primary key(`type`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

我插入了:

INSERT INTO `tariff` (`type`, `price_single`, `price_double`, `totalroom`) VALUES
('Standard', '2600', '3100', 100),
('Deluxe', '3100', '4200', 50),
('Super Deluxe', '3800', '4600', 15);

接下来我有:

<?php
$server = "localhost";
$unm = "root";
$pwd = "root";
$db = "hotel";
$con = mysqli_connect($server, $unm, $pwd, $db);
$qrysel = "select * from tariff";
$rs = mysqli_query($con, $qrysel);

if (!$rs) {
    echo "here it stops";
    die($qrysel);
}

while ($v = mysqli_fetch_array($rs)) {
    echo "<tr>";
        echo "<td>".$v['type']."</td>";
        echo "<td>".$v[1]."</td>";
        echo "<td>".$v[2]."</td>";
        echo "<td>".$v[3]."</td>";
    echo "</tr>";
}
echo "</table>";

?>

我不知道问题出在哪里。我试图输出我在SQL文件中的插入中所做的事情,但它进入if语句并在那里停止。

2 个答案:

答案 0 :(得分:2)

您的查询看起来很好我假设连接到数据库时出现错误您应首先进行一些错误处理以查看它是否连接到数据库这里是数据库连接中错误处理的解决方案

$server="localhost";
        $unm="root";
        $pwd="root";
        $db="hotel";
        $con=mysqli_connect($server,$unm,$pwd,$db);

if (!$con){
die('Could not connect: ' . mysqli_connect_error($con));
}

如果存在数据库错误,我建议使用以下凭据

$server="localhost";
        $unm="root";
        $pwd="";
        $db="hotel";
        $con=mysqli_connect($server,$unm,$pwd,$db);
if (!$con){
die('Could not connect: ' . mysqli_connect_error($con));
}

答案 1 :(得分:0)

首先尝试检查连接:

if (mysqli_connect_errno()) {
printf("Error: %s\n", mysqli_connect_error());
exit();
}