mysqli PHP扩展(“MySQL改进”)是PHP数据库驱动程序,包含自PHP 5以来。它利用了MySQL 4.1.3和更新版本中引入的新功能。
为什么我使用 mysqli_fetch_assoc 从数据库中获取的变量数据以及我自己的 MVC 进程在视图文件上返回 null?
页面显示“无可用数据” 这是我在名为 Supply-list.php 的视图文件中的代码: 页面显示“无可用数据” 这是我在名为 Supply-list.php 的视图文件中的代码: <?php if(!empty($dataLaptop)) { foreach ($dataLaptop as $row) { ?> <div class="group relative"> <div class="relative h-80 w-full overflow-hidden rounded-lg bg-white sm:aspect-h-1 sm:aspect-w-2 lg:aspect-h-1 lg:aspect-w-1 group-hover:opacity-75 sm:h-64"> <img src="https://tailwindui.com/img/ecommerce-images/home-page-02-edition-03.jpg" alt="Collection of four insulated travel bottles on wooden shelf." class="h-full w-full object-cover object-center"> </div> <h3 class="mt-6 text-sm text-gray-500"> <a href="#"> <span class="absolute inset-0"></span> <?= $row["NAMA_SUPPLY"]; ?> </a> </h3> <p class="text-base font-semibold text-gray-900"><?= $row["HARGA_SUPPLY"]; ?></p> </div> <?php }} else { echo "No data available"; } ?> 这是我在名为 Controller.php 的控制器文件中的代码: public function getDataSupplyLaptop() { $dataLaptop = $this->model->getDataSupplyLaptop(); include("../resources/views/supply-list.php"); } 这是我在名为 Model.php 的模型文件中的代码: public function getDataSupplyLaptop() { require "../database/connection.php"; $query = mysqli_query($connection, "SELECT * FROM supply WHERE ID_CATEGORY = 1"); // $rows = array(); while($row = mysqli_fetch_assoc($query)) { $hasil[] = $row; } return $this->hasil; } 这是我在index.php中的代码: <?php include ("../app/Controller.php"); $controller = new Controller(); if (isset($_GET['login'])) { $username = htmlspecialchars($_POST['username']); $password = htmlspecialchars($_POST['password']); session_start(); $_SESSION['name'] = $username; $controller->authenticationLogin($username, $password); } else { $controller->getDataSupplyLaptop(); $controller->showDataSupply(); } ?> 如果我的源代码有任何奇怪的结构,我很抱歉,因为我仍在学习。谢谢你 while($row = mysqli_fetch_assoc($query)) { $hasil[] = $row; } return $this->hasil; 您将 $row 分配给局部变量 $hasil,但返回的是属性 $this->hasil,这应该是一个拼写错误。 顺便说一句,使用mysqli_fetch_assoc有点太复杂了,您可以直接使用mysqli_fetch_all获得整个结果。 return $this->hasil = mysqli_fetch_all($query, MYSQLI_ASSOC);
我想创建一个登录页面,允许用户获取链接到他们在 mysql 中的帐户的信息。 到目前为止我所做的是用行创建 mysql ID 用户名 ...
我有表1和表2,其中表1是主表,表2是子表。两个表的关系已通过表 1(id) 的主键与表 2 中的 table_1_id 列实现...
在 while 循环内进行 mysql 查询,跳过循环中的项目
我正在读取 CSV 文件,对于每一行,我想查询数据库,但由于某种原因,循环每次都会跳过一行。起初我以为是查询太长,所以我添加了
我遇到了一个问题,我似乎无法弄清楚出了什么问题。我知道 SQL 注入,但考虑到用户,我并不担心。 好吧,我遇到的问题是我更新的时候。如果我把 $updatet...
我正在寻找一种实用的方法,为每 2 个内容数组记录创建一个新的数据库记录,并使用前一个子数组的日期值。至于你的问题:内容永远有 24
我一直在努力解决为什么我在 MySQL Workbench 上创建的自己的数据库不允许我在使用其他网络或不在网络上时访问它,它会生成错误。当我
有人向我建议,使用 die 函数并不是处理 MySQL 连接中错误的正确方法。我看过一篇文章,其中建议了报告错误的替代方法,但是
使用 foreach 迭代结果集对象与在 while 循环中调用 mysqli_fetch_assoc() 有什么区别?
我有点进退两难,在 PHP 中,foreach 循环和 while 循环在这种情况下似乎做了完全相同的事情: foreach ($execute->结果为$item) { 回显 $item['user_pass'] 。 ' 我有点进退两难,在 PHP 中,foreach 循环和 while 循环在这种情况下似乎做了完全相同的事情: foreach ($execute->result as $item) { echo $item['user_pass'] . '<br />'; } 并且 while ($row = mysqli_fetch_assoc($execute->result)) { echo $row['user_pass'] . '<br />'; } 我的问题是有什么真正的区别吗? 什么时候使用其中一种更好,或者两者都使用可以? 这两者中的任何一个会给您带来更大的灵活性吗? 在这种情况下它们是完全等价的。 mysqli_result 实现了 Traversable 接口(如此处所述: http://www.php.net/mysqli_result ),因此也可以使用 foreach 循环进行迭代。 我认为,在内部,在 foreach 对象上调用 mysqli_result 也会执行对 mysqli_fetch_assoc 的调用。 我认为使用第一种方法或第二种方法没有什么区别;然而,第一个看起来更漂亮,对我来说“更多 PHP5”! 说到灵活性,第一个当然也更灵活,因为您可以将该代码与任何实现 Traversable 的对象一起使用,而不仅仅是 mysqli_result。 对于从数据库获取结果,我确实更喜欢 while 方法,因为如果获取返回 false,则其主体不会执行,而 foreach 主体将失败,您需要检查 false,因为访问false 的按键会崩溃。 来自:https://www.php.net/manual/en/mysqli-result.fetch-assoc.php 返回表示所获取行的关联数组,其中数组中的每个键表示结果集的某一列的名称,如果结果集中没有更多行,则返回 null,如果失败则返回 false。 $fetch = false; foreach($fetch as $row) { echo $row['title']; } 警告:foreach() 参数必须是 array|object 类型,在第 5 行 /in/8gGsR 中给出 false 否则需要一段时间 $fetch = false; while($row = $fetch) { echo $row['title']; } 我们想要的什么都没有发生,因为条件是 false。如果没有更多结果,则返回 null,这也会导致条件为 false。 这也适用于所有 PDO 获取方法。 我发现了这个: for 与 foreach 与 while 在 php 中迭代数组哪个更快 答案表明速度差异非常小,以至于你使用哪个几乎不重要。 我喜欢使用 foreach 循环来迭代返回的信息,因为我可以访问键和值,这根据需要的用途可以很方便。 $returned = array(array("userName" => "Tim"),array("userName" => "Bob"), array("userName" => "Guy")); foreach($returned as $L1) { foreach($L1 as $L2 => $val) { if($L2 === "userName") { echo 'Hello: ' . $val . "<br />"; } } } 我想这取决于您需要什么值、您需要多少控制以及您需要它的位置。
有人可以解释为什么这个mysql查询需要永远执行吗?就像陷入了循环,没有返回结果
有人可以解释一下为什么这个mysql查询需要永远执行吗?就像陷入了一个循环,没有返回任何结果。 SELECT m.标题 来自电影 m 加入 movie_starredin c ON m. ratingkey ...
我已经浏览了几篇文章,但无法找到确切的解决方案。这就是我想要的 - 表 1 - 第 1 列、第 2 列、第 3 列,金额为第 4 列 表 2 - 第 1 列、第 2 列、第 3 列、金额为第 4 列...
编写 SQL 查询以仅返回使用 CTE 和内连接修改的最新记录
我相信我的 CTE 查询不正确。 与上次修改为 ( 选择 Id、MAX(ModifiedON) 作为 Last_Modified 从 事件交易 通过...分组 产品编号) 选择 产品编号,
插入查询未运行,但register.php中if条件的true块正在执行
插入语句没有将数据插入数据库。 但是if条件块的代码正在执行。 另外,我收到“int(2) string(27)”未定义的数组键“email”&qu...
今年但前两年未购买的非活跃客户数量(季度)。 到目前为止我已经计算如下。 选择 x.部门, 计数(季度情况(x.min_cd)= '1' 那么...
我将我的代码从mysql升级到mysqli。 我编辑 mysql 查询行,现在出现错误 警告:未定义变量 $link 致命错误:未捕获类型错误:mysqli_query():参数 #1 ($mysql) ...
我正在尝试合并三个不同的数组以实现自定义帖子类型,因此所有第一个项目都是一个对象,所有第二个对象都是另一个对象等等。如果我没有正确地措辞,请原谅我...
这是我关于同一问题的第二篇文章,在我的第一篇文章中我使用 mysql 而不是 mysqli,所以我根据建议做了一些更新。 我有一个带有可变字段集的表单...
这是我关于同一问题的第二篇文章,在我的第一篇文章中我使用 mysql 而不是 mysqli,所以我根据建议做了一些更新。 我有一个带有可变字段集的表单...
创建具有可重复字段的 HTML 表单,并将表单提交作为多行插入数据库
我可以使用以下命令将多行添加到我的数据库中 $sql = 'INSERT INTO '表名' ('column1', 'column2') 值 ('数据1','数据2'), ('数据3','数据4'), ('数据5','数据6'), ('...