$sql0unded = "SELECT * FROM tomb";
$query0unded = mysqli_query($dbconn,$sql0unded) or die ("Error: ".mysqli_error($dbconn).header("Refresh: 1,index.html"));
$row0unded = mysqli_num_rows($query0unded);
if($row0unded==1)
{ echo "yeayy";}
else
{header("Refresh:1;byebye.php");}
这是我的数据库
CREATE TABLE `tomb` (
`id` int(100) NOT NULL,
`ded` date NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
INSERT INTO `tomb` (`id`, `ded`) VALUES
(1, '2019-01-01'),
(2, '2019-01-02'),
(3, '2019-01-03'),
(4, '2019-01-04'),
(5, '2019-01-05'),
(6, '2019-01-06'),
, '2019-02-10');
ALTER TABLE `tomb`
ADD PRIMARY KEY (`id`);
答案 0 :(得分:0)
mysqli_num_rows
返回结果集中的结果数。当您在设置表时插入多行,然后进行SQL查询以返回这些行的 all 时,从您对mysqli_num_rows
的调用返回的值将大于1。 ,则if
等于1的条件测试失败,并且进入了else
分支。
如果这不是预期的行为,则需要:
SELECT
中的结果,以确保仅返回一行(应确保使用数据库中的约束来强制执行该行);或>= 1