- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
下面是一些写得不好且被严重误解的 PHP 代码,没有错误检查。老实说,我在 PHP->MySQLi 函数的迷宫中有点挣扎!有人可以提供一个示例,说明如何使用准备好的语句在关联数组中收集结果,同时还从 $stmt 获取行数吗?下面的代码是我正在玩的。我认为让我失望的一点是在 store_result
之后使用 $stmt
值,然后尝试收集一个 assoc 数组,我不太确定为什么...
$mysqli = mysqli_connect($config['host'], $config['user'], $config['pass'], $config['db']);
$stmt = $mysqli->prepare("SELECT * FROM licences WHERE generated = ?");
$stmt->bind_param('i', $core['id']);
$result = $stmt->execute();
$stmt->store_result();
if ($stmt->num_rows >= "1") {
while($data = $result->fetch_assoc()){
//Loop through results here $data[]
}
}else{
echo "0 records found";
}
我觉得只要求代码有点厚颜无耻,但它是对我的情况的有效演示,我觉得我需要最终了解实际发生的事情。一百万!
最佳答案
我搜索了很长时间,但从未找到正确响应所需的文档,但我进行了研究。
$stmt->get_result()
为此替换了 $stmt->store_result()
。所以,如果我们看到
$stmt_result = $stmt->get_result();
var_dump($stmt_result);
我们得到
object(mysqli_result)[3]
public 'current_field' => int 0
public 'field_count' => int 10
public 'lengths' => null
public 'num_rows' => int 8 #That we need!
public 'type' => int 0
因此我提出以下通用解决方案。 (我包括我使用的错误报告)
#Prepare stmt or reports errors
($stmt = $mysqli->prepare($query)) or trigger_error($mysqli->error, E_USER_ERROR);
#Execute stmt or reports errors
$stmt->execute() or trigger_error($stmt->error, E_USER_ERROR);
#Save data or reports errors
($stmt_result = $stmt->get_result()) or trigger_error($stmt->error, E_USER_ERROR);
#Check if are rows in query
if ($stmt_result->num_rows>0) {
# Save in $row_data[] all columns of query
while($row_data = $stmt_result->fetch_assoc()) {
# Action to do
echo $row_data['my_db_column_name_or_ALIAS'];
}
} else {
# No data actions
echo 'No data here :(';
}
$stmt->close();
关于php - MySQLI 准备语句 : num_rows & fetch_assoc,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22898994/
我正在使用 CodeIgniter,我想从数据库中的表中获取一些数据。 在我的模型中,我有这个功能: public function fetch_cours($limit, $start, $elem
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 这个问题是由于错别字或无法再重现的问题引起的。虽然类似的问题可能是on-topi
这是我在模型中的代码.. function get_info($product_id) { $this->db->from('product'); $this->db->where('
使用“登录”、“注册选项”进行项目,但在登录个人资料时遇到问题。 在电子邮件、密码字段中输入正确的数据后,它不会回显成功文本,而是回显错误的用户名或密码。 据我所知,if($st->num_rows(
出现一个奇怪的错误,指出我在运行 mysqli_num_rows 查询时未连接到数据库。这是代码: exampleClassFunction() 使用对象运算符->。 要获取num_rows
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求提供代码的问题必须表现出对所解决问题的最低限度的了解。包括尝试的解决方案、为什么它们不起作用以及预期结果
这个问题已经有答案了: When to use single quotes, double quotes, and backticks in MySQL (13 个回答) 已关闭 7 年前。 我有一些
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
这个问题已经有答案了: What to do with mysqli problems? Errors like mysqli_fetch_array(): Argument #1 must be o
我有一个简单的函数来检查用户是否已经在我的网站上注册。如果是,则不会添加它们,如果不是,则添加它们。然而,在我的数据库中,由于某些奇怪的原因,某个用户使用完全相同的 id 被添加了多次。 mysqli
我真的厌倦了这个 num_rows 属性。首先,我在没有 store_result() 的情况下使用它,但它无法正常工作。然后我发现我应该将结果存储在本地以便找出记录数。有效。现在它再次停止工作。 当
*实际问题比帖子标题复杂得多:S 假设我有一张 table ID | vote_id | vote_type | vote_user 1 ---- 2 ----- up -------
每当我需要数据库中的东西时,比方说当用户登录时,我需要验证并获取用户数据,我会这样做: 检查用户是否存在 num_rows 使用fetch_array获取用户数据 所以我的问题如下: 我在想,难道没有
我是 php 和 mysql 的初学者。 num_rows 在下面的 basic 示例中不起作用。整个脚本的灵感来自 w3schools 中的示例。 w3schools example . 浏览器显示
我需要帮助,我有 n 个数据,这些数据由 ajax 请求返回给客户端。我需要从其他应用程序调用 api 的每一行数据。现在我正在使用 callback为此,是的,api 是成功的,并且按照我的预期提供
我正在使用 mysqli 类和准备好的语句在 PHP 中编写一个数据库处理程序类。我试图打印出结果。它并没有立即起作用,所以我决定进行一些调试。我尝试使用 mysqli_statement 类中的 n
db->get('av_home'); echo $this->db->num_rows(); } } 以上代码报错, Call to undefine
模型文件中的函数: function get_user_by_email($email) { //$this->consumer->where('email=', strtolower($em
我试图获得我编写的足球得分模型的总冠军。 我在使用sql进行查询和从最后10个条目进行计数时遇到了困难。 $sql = "SELECT * FROM fixtures WHERE AwayTeam =
好的,所以我遇到了这个奇怪的问题。我的 num_rows 不起作用,我尝试了一切。 所以这个想法是,如果数据库中没有选定的行,它应该显示 。但事实并非如此。 我没有错误消息,所以我不知道我能做什么。
我是一名优秀的程序员,十分优秀!