gpt4 book ai didi

php - 计算带有值的 MySQL 行数

转载 作者:行者123 更新时间:2023-11-29 07:57:59 25 4
gpt4 key购买 nike

我想计算我的 MySQL 数据库中有多少行具有两个特定值。我的 table 是这样设置的:

|---------------------|
| ids |
|---------------------|
|source_id | target_id|
|----------|----------|
| 2 | 6|
| 2 | 6|
| 3 | 4|
|---------------------|

我想计算有多少行具有 source_id = 2target_id = 6我尝试过这个声明:

<?php
$prep_stmt = "SELECT source_id FROM ids WHERE source_id = 2 AND target_id = 6";
if (!$result = $mysqli->query($prep_stmt)) {
die("Failed");
} else {
$num_rows = $result->num_rows;
echo $num_rows;
}
?>

但是,PHP 文件在第三行之后停止运行。

最佳答案

你的代码看起来有点奇怪。 如果您想使用准备好的语句,则工作方式完全不同:

<?php

$stmt = $mysqli->prepare("SELECT COUNT(*) FROM `ids` WHERE `source_id` = ? AND `target_id` = ?");
$stmt->bind_param("ii", $source_id, $target_id);
$stmt->execute();
$stmt->bind_result($count);
$stmt->fetch();
$stmt->close();
echo $count;

并且没有准备好的语句。

<?php

echo $mysqli->query("SELECT COUNT(*) FROM `ids` WHERE `source_id` = 2 AND `target_id` = 6");

最后一点,如果您在条件中指定任何内容,请务必将其括在括号中:

<?php

function fn() {
return "something";
}

if (($foo = fn())) {
// The condition is true if $foo isset, or in other words not null after the function was called.
}

if (!($foo = fn())) {}

if (($foo = fn()) === null) {}

// ...

关于php - 计算带有值的 MySQL 行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24601005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com