PHP - 检查 while 循环中的行是否存在

阿姆兰

我需要在 while 循环中检查表上是否存在记录。如果没有,我想显示一条消息。根据我所做的代码,如果行存在,它也会输出消息。下面是代码,

<?php 
$mysqli = new mysqli("localhost", "root", "", "my_dev");

/* check connection */
if ($mysqli->connect_errno) {
    printf("Connect failed: %s\n", $mysqli->connect_error);
    die();
}

/* create a prepared statement */
if ($stmt = $mysqli->prepare("SELECT * FROM user WHERE staff_id=?")) 
{
    /* bind parameters for markers */
    $stmt->bind_param("i", $id);

    /* execute query */
    $stmt->execute();

    /* store result */
    $stmt->store_result();

    /* bind result variables */
    $stmt->bind_result($t_id, $name, $ic_no);

    /* fetch value */
    while ($row = $stmt->fetch()) { ?>

        <div class="form-group">
            <input type="text" name="nama[]" id="nama" class="form-control" 
            placeholder="Nama" value="<?php echo $name?>" >
        </div>

        <div class="form-group">
            <input type="text" name="ic_no[]" id="ic_no" class="form-control"  
            placeholder="No. K/P" value="<?php echo $ic_no; ?>" >
        </div>

    <?php }

    if ($row < 1) {
        echo "No records!";
    }

    /* close statement */
    $stmt->close();

} 

检查病情的正确方法是什么?

蒂姆·莫顿

你需要问的问题是“什么是$row?”

让我们逐步执行您的代码,假设上面的所有内容while都是正确的(我不知道,我不使用 mysqli):

while ($row = $stmt->fetch()) { 

只要$stmt->fetch()返回一个值,在这种情况下很可能是一个对象,$row接收到该对象,则whle认为这是真的,并且执行将转到下一行。$stmt->fetch()行用完时,它返回falsewhile退出循环。

同时,当你在循环中时,你从数据库中访问数据,通常是通过引用类似的东西 $row->columnName

所以你的 while 循环将是这样的:

while($row = $stmt->fetch()) {
    print "I'm column one: " . $row->columnOnesName . "<br>";
    print "I'm column two: " . $row->columnTwosName . "<br>";
}

当您用完行时,则$row获取$stmt->fetch()给出它的值,这很可能是null. 这评估为不为真,while 循环中断。

如果你那么做

if ($row < 1) {

如果null< 1 ,它将跟随分支

查看是否有任何数据行的一种快速简便的方法是简单地使用一个标志。

$isEmpty = true;
while($row = $stmt->fetch()) {

  $isEmpty = false;

  // display table's output with $row->columnNames
}

if($isEmpty) {
   print "no rows in table";
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

检查数组中是否存在值php do while循环

来自分类Dev

检查这是否是while循环中的最后一行

来自分类Dev

while循环以检查用户输入是否不在for循环中

来自分类Dev

如何在while循环中检查mysql获取的行是否相同

来自分类Dev

检查输入是否为while循环中的数字

来自分类Dev

如何检查元素是否出现在while循环中

来自分类Dev

检查输入是否为while循环中的数字

来自分类Dev

PHP在while循环中跳过行

来自分类Dev

PHP while循环中“输入”表单标签中“已检查”属性的问题

来自分类Dev

检查循环中是否存在XML元素

来自分类Dev

bash中使用pgrep的while循环,以检查服务是否存在

来自分类Dev

bash中使用pgrep的while循环,以检查服务是否存在

来自分类Dev

PHP MySQL检查行是否存在

来自分类Dev

如何检查行是否存在 PDO PHP?

来自分类Dev

使用 Laravel 检查是否在 PHP for 循环中设置了值

来自分类Dev

在while循环中检查regexp条件(shell)

来自分类Dev

在 while 循环中检查请求响应

来自分类Dev

While循环检查时间

来自分类Dev

PHP,while循环中的备用表行颜色

来自分类Dev

如何在PHP的While循环中使行彼此偏移

来自分类Dev

PHP检查值是否存在

来自分类Dev

使用while循环检查状态是否更改

来自分类Dev

在while循环中检查BASH字符串是否包含单引号?

来自分类Dev

在while循环中检查数字因数时获得无限循环

来自分类Dev

Php / Laravel 检查循环中的重复项

来自分类Dev

PHP中的foreach循环中的while循环

来自分类Dev

if 检查和 while 检查之间是否存在速度差异

来自分类Dev

在while循环中检查相同的行,并将它们放在单独的表中

来自分类Dev

敲除-绑定时如何检查循环中的项目是否存在

Related 相关文章

热门标签

归档