gpt4 book ai didi

php - mysql中的计数语法

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

我想得到满足条件的行数。

mysql_query("SELECT COUNT(*) FROM sid WHERE sid='".session_id()."'");

这个忽略条件。

更新:

$session = session_id();
$sql = "SELECT COUNT(*) as row_count FROM sid WHERE sid = '$session' ";
var_dump($r = mysql_query($sql));//resource(4) of type (mysql result) (1)
var_dump(mysql_fetch_assoc($r));
//array(1) { ["row_count"]=> string(1) "1" } - this result is OK(2)

(1) resource(4) - 我认为 4 是计数

(2) mysql_real_escape_string($_SESSION['id']); 给出 0

注意:

我已经从 mysql_num_rows 更改为这种获取计数的类型,因为我认为它会立即返回计数,而我不必编写更多行来获取此基本数据。

最佳答案

正确的做法是:

$session = mysql_real_escape_string($_SESSION['id']);  <<-- Get the session id
echo "debug: session_id = ".htmlentities($session);
$sql = "SELECT count(*) as row_count FROM tablename WHERE sid = '$session' ";
$result = mysql_query($sql);
if (!$result) {
die('error in query '.$sql.' error is: '.mysql_error());
}
//we only have 1 result
$row = mysql_fetch_array($result);
//always sanitize so you don't suffer XSS attacks when the query changes
//and the $row['x'] changes from an integer to a user-supplied string.
$count = intval($row['row_count']);
echo "count is: ".$count;

表名和列名可以相同,但在您的情况下它们可能不同。
sid 显然代表字段“session_id”,因此您需要将 FROM 之后的第一个 sid 替换为您的表名。

关于php - mysql中的计数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8165643/

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